一般情况下我这样使用property:
@property
def foo(self):
return self._foo
# 下面的两个decrator由@property创建
@foo.setter
def foo(self, value):
self._name = value
@foo.deletter
def foo(sf):
del self._name
其实这是个语法糖,用了装饰器
,其实内部真是的过程是这样的:
def _get_name(self):
return _name
def _set_name(self, value):
self._name = vlaue
def _del_name(self):
del self._name
name = property(_get_name, _set_name, _del_name, 'description of the property')
其实就是创建了一个python的property对象,javascript中也有这个概念,相信不难理解了
property对象的特性就是能够用对应的function来处理取值、赋值和删除操作