Python
中的:可能是如此明显,:)无论如何,我们正在寻找下面的?
:
def printname(x):
print ?,x
>>> a = 1.3
>>> printname(a)
>>> 'a',1.3
所以用?
代替{{1}}代表传递参数的名称
如果没有明显的?任何技巧或解决方案?
答案 0 :(得分:2)
你不可能知道这一点。物体不知道它们的名字。如果它们只是另一个对象或列表中的项目,它们可以有许多名称,或者根本没有名称。
答案 1 :(得分:1)
这不是不可能。您需要遍历堆栈帧并找到调用该函数的代码行。
对于调试来说这是一个很好的黑客攻击,但我无法在实际代码中使用它
以下是您的起点:
import inspect
def printname(x):
print inspect.stack()[1][4]
a = 1.3
printname(a)