我已经尝试在learnpython.org动态创建变量,可以按如下方式创建:
food = 'bread'
vars()[food] = 'asdasd'
print (bread)
它将打印出" asdasd"。但是,当我尝试使用我的python3时,它会给我一个错误(NameError:name' bread'未定义)。我怎么能用python3做到这一点?
答案 0 :(得分:3)
在python中我们倾向于避免使用这种动态变量,但无论如何你的答案是:
def main_function(action):
return { '1': func_a, '2': func_b, '3': func_c, '4': func_d}.get(action)()
def func_a():
return "a"
def func_b():
return "b"
def func_c():
return "c"
def func_d():
return "d"
if __name__=="__main__":
print(main_function('1'))
更好的方法是使用词典。
a = 'test'
globals()[a] = 123
print(test)