Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量名转换为字符串然后打印?python_Python - Fatal编程技术网

将变量名转换为字符串然后打印?python

将变量名转换为字符串然后打印?python,python,Python,我想知道是否有一种方法可以将变量的名称转换成字符串来打印它 例如: myVariable = 1 我想将“myVariable”转换成字符串,比如变量本身的名称,而不是它的值,然后将该字符串打印到控制台,这可能吗?只需从locals()提供的dict中选择正确的一次即可 >>> a = 2 >>> b = 3 >>> >>> print(locals()) {'__doc__': None, 'b': 3, 'a': 2

我想知道是否有一种方法可以将变量的名称转换成字符串来打印它

例如:

myVariable = 1

我想将“myVariable”转换成字符串,比如变量本身的名称,而不是它的值,然后将该字符串打印到控制台,这可能吗?

只需从
locals()
提供的dict中选择正确的一次即可

>>> 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}
或者,再次使用
locals()

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

听起来你要找的是引号。这能满足你的需要吗

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

如何
打印“myVariable”
?您可以使用
locals()
返回的字典。这是否足够?请注意,Python变量是引用,因此可能有许多变量引用同一个对象?我知道这个问题听起来不屑一顾,但如果有些事情几乎是不可能的,而你似乎需要它,也许你并不真正理解你需要什么。你能稍微解释一下你的用例吗?@ManxFox不使用字典的原因似乎不是很好的理由。字典将名称和值链接起来,这正是您在这里要做的。
locals()
解决方案从当前范围中梳理出一个字典,有效地做了与创建自己的字典相同的事情,但方式很笨拙。这对我想要的不起作用,因为打印的变量实际上不会一直都是同一个变量,它将在20个左右的其他变量之间变化查看更新,将它们放入自己的dict中,这样您就知道需要打印什么。无法使用字典了解我需要的内容。请将它们从
本地人的海洋中过滤出来()
,请参阅更新的答案。
>>> 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
>>>