猿问

exec / eval的替代品?

我一直在尝试找到一种可靠地设置和获取带有字符串名称的变量值的方法。我几乎可以找到的所有东西似乎都不总是可行。变量可以在任何模块中,并且导入了那些模块。

获取和设置变量值的安全/正确方法是什么?

ps-我和他们一样喜欢python


四季花海
浏览 122回答 2
2回答

慕容森

尽管它可以工作,但通常不建议使用对程序本身有意义的变量名。相反,最好使用dict:mydict = {'spam': "Hello, world!"}mydict['eggs'] = "Good-bye!"variable_name = 'spam'print mydict[variable_name]  # ==> Hello, world!mydict[variable_name] = "some new value"print mydict['spam']  # ==> "some new value"print mydict['eggs']  # ==> "Good-bye!"

PIPIONE

spam = "Hello, world!"variable_name = 'spam'print globals()[variable_name]  # ==> Hello, world!globals()[variable_name] = "some new value"print spam  # ==> some new value
随时随地看视频慕课网APP

相关分类

Python
我要回答