Python面向对象编程:装饰器、属性应用与代码复用
1. 装饰器:创建属性的另一种方式
在Python 2.4中引入了装饰器,它可以通过将函数作为参数传递给其他函数来动态修改函数,最终返回一个新的函数。基本语法很容易掌握,只需在函数名前加上 @ 符号,并将其放在被装饰函数定义之前。
例如,使用 property 函数作为装饰器将一个获取函数转换为属性:
class Foo:
@property
def foo(self):
return "bar"
上述代码等同于 foo = property(foo) ,但从可读性角度看,在方法顶部标记 foo 函数为属性,避免了在定义后标记可能被忽略的问题。
还可以为新属性指定设置器函数:
class Foo:
@property
def foo(self):
return self._foo
@foo.setter
def foo(self, value):
self._foo = value
这里先将 foo 方法装饰为获取器,再用原装饰后的 foo 方法的 setter 属性装饰一个同名的新方法。虽
超级会员免费看
订阅专栏 解锁全文
1088

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



