python property理解

一般情况下我这样使用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来处理取值、赋值和删除操作

posted @ 2016-12-24 17:48  CooMark  阅读(361)  评论(0)    收藏  举报