类的上方装饰方法,那么该方法会成为该类的方法,可以通过实例调用
""" 类的装饰器 """ def f(self): print("{}要吃东西".format(self.name)) print("0000000") def eat(cls): """ 吃东西装饰器 """ # cls.eat = lambda self: print("{}要吃东西".format(self.name)) cls.eat = f return cls @eat class Cat(object): """ 猫类 """ def __init__(self, name): self.name = name if __name__ == "__main__": cat = Cat("小黑") cat.eat() # 输出: # 小黑要吃东西 # 0000000
原文:https://www.cnblogs.com/ac-chang/p/12707399.html