擅长:python、mysql、java
<p>完全按照您的要求进行操作需要在符号表中进行O(n)查找,这是非常糟糕的。你知道吗</p>
<p>如果可以传递与变量名对应的字符串,则可以执行以下操作:</p>
<pre><code>import sys
def myprint(name, mod=sys.modules[__name__]):
print('{}: {}'.format(name, getattr(mod, name)))
</code></pre>
<p>测试:</p>
<pre><code>a=535
b='foo'
c=3.3
myprint('a')
myprint('b')
myprint('c')
</code></pre>
<p>将打印:</p>
<pre><code>a: 535
b: foo
c: 3.3
</code></pre>
<p>您也可以通过传递第二个参数来打印来自另一个模块的变量,例如:</p>
<pre><code>>>> import os
>>> myprint('pathsep', os)
pathsep: :
</code></pre>