【发布时间】:2012-08-24 18:57:02
【问题描述】:
Python 3.3 为函数对象和类对象引入了__qualname__ 属性。
获取当前执行函数的(非限定)名称和代码对象很容易。
但是如何获取当前正在执行的函数的限定名呢?
【问题讨论】:
-
检查。我可以获得框架对象和代码对象。但我无法获得会产生
__qualname__的函数对象。 -
当你说(不合格的)名字时,你的意思是
__name__? -
例如框架对象的非限定名称是
inspect.stack()[0][0].f_code.co_name。 -
例如函数 f2 嵌套在函数 f1 中,作为嵌套在类 c1 中的类 c2 的方法,限定名称为:
c1.c2.f1.<locals>.f2。对我来说更好的是:c1.c2.f1.f2.
标签: python-3.x