2024-10-02 18:18:31 发布
网友
如何在方法上使用decorator,将其放在类外只返回一个内存地址:<function decor at 0x104e167b8>,将其放在类内会引发
<function decor at 0x104e167b8>
TypeError: 'NoneType' object is not callabl
我还尝试添加*args,因为方法的参数中有一个self。你知道吗
*args
self
类中装饰器的示例实现如下所示:
class Foo: def __init__(self): pass def decor(function): def wrap(*args, **kwargs): # Whatever your decorator does here return function(*args, **kwargs) return wrap @decor @staticmethod def bar(): pass
或者在Foo的实例上调用它:
Foo
foo = Foo() foo.bar()
如果您的装饰程序需要访问self:
class Foo: def __init__(self, spam): if spam is not None: self.spam = spam def require_spam(function): def wrap(self, *args, **kwargs): try: self.spam except AttributeError: return return function(self, *args, **kwargs) return wrap @require_spam def bar(self): pass
类中装饰器的示例实现如下所示:
或者在
Foo
的实例上调用它:如果您的装饰程序需要访问
self
:相关问题 更多 >
编程相关推荐