动态变量名是指这些变量的名称在定义的时候不确定。
比如: var1,var2,....varn。

python定义动态变量名可通过如下三种方式完成:

使用 exec 动态赋值

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

for i in range(5):
    exec('var{} = {}'.format(i, i))

print(var0, var1, var2, var3 ,var4)
输出结果:0 1 2 3 4

利用命名空间动态赋值

在Python的命名空间中,将变量名与值存储在字典中,
可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。

names = locals()
for i in range(5):
    names['var' + str(i) ] = i

print(var0, var1, var2, var3 ,var4)
输出结果:0 1 2 3 4

在类中使用动态变量

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

class Test_class(object):
    def __init__(self):
        names = self.__dict__
        for i in range(5):
            names['var' + str(i)] = i

t = Test_class()
print(t.var0, t.var1, t.var2, t.var3, t.var4)
输出结果:0 1 2 3 4