2016-05-12 99 views
-2

我想知道是否有一種方法來獲取變量的名稱並將其轉換爲字符串來打印它?將變量名稱轉換爲字符串然後打印它? Python

例如:

myVariable = 1 

我想轉換「MYVARIABLE」之類的變量本身不是它的值的名稱爲一個字符串,然後打印字符串到控制檯,這可能嗎?

+1

「print」myVariable「'」怎麼樣? – Kevin

+1

你可以使用'locals()'返回的字典。這足夠嗎?請注意,Python變量是引用,所以可能會有很多變量引用同一個單獨的對象。 – cdarke

+0

cdarke,我該怎麼做呢?此外,凱文,對不起,這隻會打印1 – ManxFox

回答

1

只需從locals()給你的字典中選擇一次。

>>> a = 2 
>>> b = 3 
>>> 
>>> print(locals()) 
{'__doc__': None, 'b': 3, 'a': 2, '__spec__': None, 
'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', 
'__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__package__': None} 

可能更好地把要打印到自己的字典中的變量,然後打印字典鍵

>>> myvars = {'a': 2, 'b': 3} 
>>> print(', '.join(myvars)) 
a, b 

或者,用locals()再次

>>> a = 2 
>>> b = 3 
>>> 
>>> print([x for x in locals() if not x.startswith('_')]) 
['b', 'a'] 
+0

這不會爲我想要的工作,因爲打印的變量實際上不會一直是相同的變量,它會改變20個左右的其他變量 – ManxFox

+0

看到更新,把它們放到他們自己的字典所以你知道你需要打印什麼。 – C14L

+0

無法使用字典爲我需要它爲haha – ManxFox

-1

這聽起來像什麼你正在尋找的是引號。這是否做你需要的東西?

>>> myVariable = 1 
>>> yourVariable = 2 
>>> print ("The value of {} is {}".format("myVariable", myVariable)) 
The value of myVariable is 1 
>>> print ("The value of {} is {}".format("yourVariable", yourVariable)) 
The value of yourVariable is 2 
>>>