Python装饰器:从类函数到实用工具的全面指南
1. 类函数装饰器
类函数装饰器与普通函数装饰器非常相似,但需要注意第一个必需参数 self ,它代表类的实例。常见的类函数装饰器有 classmethod 、 staticmethod 和 property 。下面通过一个简单的装饰器示例来说明与普通装饰器的区别:
import functools
def plus_one(function):
@functools.wraps(function)
def _plus_one(self, n):
return function(self, n + 1)
return _plus_one
class Spam(object):
@plus_one
def get_eggs(self, n=2):
return n * 'eggs'
spam = Spam()
print(spam.get_eggs(3)) # 输出: 'eggseggseggseggs'
这里的类函数装饰器会将 self 作为实例传递,与普通函数装饰器类似。
1.1 classmethod 和 staticmethod
classmethod 和 staticmet
超级会员免费看
订阅专栏 解锁全文
1287

被折叠的 条评论
为什么被折叠?



