如何打印 python 变量的值

How can I print the value, of the value, of a python variable

我有一个变量,我们称之为 x ,它存储字符串 test
我有另一个变量,我们称之为 y ,它存储 stringx

有什么方法可以 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"