您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

装饰Python类方法-如何将实例传递给装饰器?

装饰Python类方法-如何将实例传递给装饰器?

您需要使装饰器成为描述符-通过确保其(元)类具有一个__get__方法,或者通过使用装饰器 函数 而不是装饰器 简化(因为函数已经是描述符)。例如:

def dec_check(f):
  def deco(self):
    print 'In deco'
    f(self)
  return deco

class bar(object):
  @dec_check
  def foo(self):
    print 'in bar.foo'

b = bar()
b.foo()

此打印

In deco
in bar.foo

如预期的。

python 2022/1/1 18:50:19 有411人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶