如何打印 python 变量的值
How can I print the value, of the value, of a python variable
我有一个变量,我们称之为 x
,它存储字符串 test
我有另一个变量,我们称之为 y
,它存储 string 值 x
有什么方法可以 print(y)
,以便 return test
换句话说,我如何print
y
的值本身存储变量x
的名称?
我还应该提到我不能只是 print(x)
,因为 x 改变了(它的字符串值也是如此)。
>>> x="test"
>>> y="x"
>>> eval(y)
'test'
但是don't use eval。更好的方法是使用映射,例如字典。
>>> mapping = {"x": "test"}
>>> mapping[y]
'test'
实际上,python 中的变量无论如何都在字典中,可以通过 globals()
or locals()
内置函数访问。因此,另一种动态访问名称的方法是……
>>> globals()[y]
'test'
…但这只是创建您真正需要的字典的更神奇但不太清晰的解决方案。
您可以创建字典:
d = {"x": "test"}
y = "x"
print(d[y])
如果你想使用变量 x
那么你可以设置一些值到 x
作为初始化。正如您所说 x
值可以更改:
x = None # can be any value depending on the user.
d = {x: "test"}
y = x
print(d[y])
输出:
"test"
我有一个变量,我们称之为 x
,它存储字符串 test
我有另一个变量,我们称之为 y
,它存储 string 值 x
有什么方法可以 print(y)
,以便 return test
换句话说,我如何print
y
的值本身存储变量x
的名称?
我还应该提到我不能只是 print(x)
,因为 x 改变了(它的字符串值也是如此)。
>>> x="test"
>>> y="x"
>>> eval(y)
'test'
但是don't use eval。更好的方法是使用映射,例如字典。
>>> mapping = {"x": "test"}
>>> mapping[y]
'test'
实际上,python 中的变量无论如何都在字典中,可以通过 globals()
or locals()
内置函数访问。因此,另一种动态访问名称的方法是……
>>> globals()[y]
'test'
…但这只是创建您真正需要的字典的更神奇但不太清晰的解决方案。
您可以创建字典:
d = {"x": "test"}
y = "x"
print(d[y])
如果你想使用变量 x
那么你可以设置一些值到 x
作为初始化。正如您所说 x
值可以更改:
x = None # can be any value depending on the user.
d = {x: "test"}
y = x
print(d[y])
输出:
"test"