1
我有以下幾點:如何獲得類名稱的類之外,鑑於它的功能
def print_class_name(func):
def print_name(*args, **kw):
print(func.__name__) # 'whatever_func'
print(func.__class__.__name__) # it doesn't work :(
class Foo():
@print_class_name
def whatever_func(self):
pass
我只能觸摸裝飾功能print_class_name
,但不是階級Foo
。我如何使用print_class_name
裝飾者打印班級名稱('Foo')?
請注意,這是一個簡化。類和裝飾可能在不同的模塊中。
如果我使用'func .__ self______ class__',我收到一個異常:'{AttributeError}'函數'object has no attribute'__self __'' – mcamacho
我將添加一個示例 –
非常感謝您的回覆。可悲的是,我無法訪問實例,我必須堅持我發佈的代碼,我只能修改我的裝飾器函數。 – mcamacho