9

我一直在尝试找到一种方法来可靠地设置和获取具有字符串名称的变量值。我能在远程附近找到的任何东西似乎并不总是有效。变量可以在任何模块中,并且这些模块被导入。

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

ps - 我和他们来到 python 一样新手

4

2 回答 2

8

虽然它会起作用,但通常不建议使用对程序本身有意义的变量名。

相反,最好使用字典:

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!"

(代码取自另一个答案并修改)

于 2013-05-27T07:51:34.543 回答
4
spam = "Hello, world!"
variable_name = 'spam'
print globals()[variable_name]  # ==> Hello, world!
globals()[variable_name] = "some new value"
print spam  # ==> some new value
于 2013-05-27T07:24:17.000 回答