我曾多次写过这样的话:

print 'customer id: ', customerId

我想要一个函数,它可以打印变量名和值
>>myprint(customerId)

>>customerId: 12345

最佳答案

做你所需要的事情需要在符号表中进行O(N)查找,这是很糟糕的。
如果可以传递与变量名对应的字符串,则可以执行以下操作:

import sys

def myprint(name, mod=sys.modules[__name__]):
    print('{}: {}'.format(name, getattr(mod, name)))

测试:
a=535
b='foo'
c=3.3

myprint('a')
myprint('b')
myprint('c')

将打印:
a: 535
b: foo
c: 3.3

通过传递第二个参数,也可以使用它从另一个模块打印变量,例如:
>>> import os
>>> myprint('pathsep', os)
pathsep: :

关于python - 我们如何在python中打印变量名称及其值,这在调试期间会很有用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31133627/

10-12 02:22