擅长:python、mysql、java
<p>从<a href="https://stackoverflow.com/a/2553481/3768332">this answer</a>开始,您可以这样做</p>
<pre><code> >>> 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'
</code></pre>
<p>尽管如此,这不是一个好办法。Python对象没有名称。相反,<em>名称</em>具有<em>对象</em>。一个小小的例外是函数的<code>__name__</code>属性,但规则是相同的-我们只是将名称存储为一个属性。对象本身保持未命名状态。在</p>
<p>上述方法滥用<code>locals()</code>方法。这并不理想。一个更好的方法是把你的数据重组成像字典一样的东西。字典是一组特定的命名值。在</p>
^{pr2}$
<p>字典的重点是这种键值关系。这是一种基于名称查找值的方法,这正是您想要的。你可能遇到的另一个问题(取决于你在这里做什么)是如果有成千上万的街道会发生什么。当然你也不想写出成千上万的变量名。在</p>