Python中变量的打印名而不是它的值

2024-04-25 08:10:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有变量

street_38 = (4,6,7,12,1,0,5)

有没有一种方法可以实际打印名称而不是值? 那就是我只想得到“街38号”。我想要那是因为我在画一个图形

plt.title(str(street_38)

作为标题,我得到的是值而不是名字

谢谢


Tags: 方法名称图形标题streettitleplt名字
2条回答

this answer开始,您可以这样做

 >>> a = 1
 >>> for k, v in list(locals().iteritems()):
         if v is a:
             a_as_str = k
 >>> a_as_str
 a
 >>> type(a_as_str)
 'str'

尽管如此,这不是一个好办法。Python对象没有名称。相反,名称具有对象。一个小小的例外是函数的__name__属性,但规则是相同的-我们只是将名称存储为一个属性。对象本身保持未命名状态。在

上述方法滥用locals()方法。这并不理想。一个更好的方法是把你的数据重组成像字典一样的东西。字典是一组特定的命名值。在

^{pr2}$

字典的重点是这种键值关系。这是一种基于名称查找值的方法,这正是您想要的。你可能遇到的另一个问题(取决于你在这里做什么)是如果有成千上万的街道会发生什么。当然你也不想写出成千上万的变量名。在

没有一种好的编程方式来实现这一点。理想情况下,变量的名称对代码没有任何意义。它只在向程序员传达思想时有用,这样他们就知道他们在用什么。在

相关问题 更多 >