【发布时间】:2010-10-31 17:11:17
【问题描述】:
如何找出我在哪个类中初始化装饰器?由于装饰器尚未绑定到该类,因此我无法找到这一点是有道理的,但是有没有办法解决这个问题?
class A(object):
def dec(f):
# I am in class 'A'
def func(cls):
f(cls)
return func
@dec
def test(self):
pass
我需要知道我是哪个班级(由注释行表示)。
【问题讨论】:
-
问题 805066 是关于 super() 的,我看不出这有什么帮助。
-
正如您的示例所代表的那样,无法绕过它。但是,如果您详细说明为什么需要访问该课程,我们可以帮助您找到更好的方法。
标签: python decorator introspection