从字符串名称创建变量

时间:2016-03-22 14:34:46

标签: python python-2.7

我想知道是否有任何方法可以将python中的字符串转换为变量名并为其指定默认值。 例如,假设我有这个循环,

for i in range(1,4):
    "User"+str("i")=0  

它会给我变量User1,User2& User3分配了一个默认值0,我可以自行修改 我知道这可以使用文件,但还有另一种方法吗?

3 个答案:

答案 0 :(得分:3)

您可以使用eval执行此操作,但通常我建议使用dict来存储密钥(变量名称)和相关值:

users = {}
for i in range(1,4):
    users["User"+str(i)]=0  
print users
# {'User1': 0, 'User2': 0, 'User3': 0}

只需使用正确的密钥访问字典,即可访问每个变量:

print users['User1']
# 0

答案 1 :(得分:3)

请参阅

中的localsglobals
for i in range(1,4):
    globals()["User"+str(i)] = 0 

然后User2将在全球范围内,例如

答案 2 :(得分:0)

您可以使用eval(),https://docs.python.org/2/library/functions.html#eval

eval(varname + "=" + value);