Python 动态变量名定义与调用方法

一、使用 exec 动态赋值

exec 在 python3 中是内置函数,它支持 python 代码的动态执行。

复制代码
In [1]: for i in range(5):
  ...:   exec('var{} = {}'.format(i, i))
  ...:
 
In [2]: print(var0, var1, var2, var3 ,var4)
0 1 2 3 4

二、利用命名空间动态赋值

在Python的命名空间中,将变量名与值存储在字典中,

可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。

复制代码
>>> names = locals()
>>> for i in range(5):
...   names['n' + str(i) ] = i
...
>>> print(n0, n1, n2, n3, n4)
0 1 2 3 4
>>>

三、在类中使用动态变量

Python 的类对象的属性储存在的 dict 中。dict 是一个词典,键为属性名,值对应属性的值。

复制代码
>>> print(n0, n1, n2, n3, n4)
0 1 2 3 4
>>> class Test_class(object):
...   def __init__(self):
...     names
相关推荐
ocean210311 分钟前
2025-2026年Java语言及生态面试高频知识点洞察
java·开发语言·面试
2601_9620782316 分钟前
Python接口自动化流程(pytest)
python·pytest·接口自动化·测试框架·断言
2302_11117 分钟前
java时间类型
java·开发语言
小七在进步25 分钟前
类和对象(三)
java·开发语言
夜不会漫长26 分钟前
C++:类和对象(1)
java·开发语言·c++
czt_java30 分钟前
Java文件IO核心知识点总结
java·开发语言
szarron38 分钟前
HTOOL‑SA12 + HT06 近场探头组合实操|手持设备工位 EMI 预兼容排查完整流程
运维·服务器·开发语言·网络·射频工程·频谱仪
菜鸟~noob23339 分钟前
【电子战】第07篇:多普勒测向【含matlab代码】
android·开发语言·matlab
Wang's Blog41 分钟前
Java框架快速入门: Spring Security+OAuth2之跨域处理
java·开发语言·spring