首页 > 编程语言 > 详细

property属性[Python]

时间:2014-07-29 21:35:22      阅读:344      评论:0      收藏:0      [点我收藏+]

一、property解释

  根据文档资料解释

property([fget[, fset[, fdel[, doc]]]])
Return a property attribute for new-style classes (classes that derive from object)

  使用这个内建函数时,类必须继承object,才有效。

  property有可选参数fget, fset, fdel, doc。fget是获取值函数,fset是设置函数值,fdel是删除函数,doc文档说明。

二、例子

class C(object):
    def __init__(self):
        self.__x = None

    def getx(self):
        return self.__x

    def setx(self, value):
        self.__x = value

    def delx(self):
        del self.__x

    x = property(getx, setx, delx, ‘‘)

c = C()
c.x = 1
print c.x
del c.x

另外一种表达方式,property作为一种装饰器使用:

class Parrot(object):
    def __init__(self):
        self._voltage = 10000

    @property
    def voltage(self):
        return self._voltage

    @voltage.setter
    def voltage(self, value):
        self._voltage = value

    @voltage.deleter
    def voltage(self):
        del self._voltage

p = Parrot()
print p.voltage
p.voltage = 1
del p.voltage

property函数使用对类属性的读取更简洁,隐藏了变量,保证了数据的安全。

property属性[Python],布布扣,bubuko.com

property属性[Python]

原文:http://www.cnblogs.com/zhuangzebo/p/3876327.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!