一、使用 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