通过以下程序可以动态创建局部变量
names = locals()
for i in range(3):
names['n' + str(i) ] = i
#创建后直接调用变量名没问题
print(n0, n1, n2)
但是,使用中发现,如果动态创建的变量实在函数中创建的且最后需要被return 返回,则如下写法就不行,会提示没有定义n0等。
def():
names = locals()
for i in range(3):
names['n' + str(i) ] = i
#创建后直接调用变量名没问题
return n0,n1,n2
对于这种情况,上述的return 应该改写为
return names['n0'],names['n1'],names['n2']