码迷,mamicode.com
首页 > 编程语言 > 详细

python中的@property

时间:2018-01-20 19:50:38      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:getter   一个   blog   相同   gpo   span   weight   访问   setter   

@property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的

class People:
    def __init__(self,name,weight,height):
        self.__name=name
        self.weight=weight
        self.height=height
    @property
    def bmi(self):
        return self.weight / (self.height**2)
    @bmi.deleter
    def bmi(self):
        del self.__name

p1=People(wang,67,1.7)
del p1.bmi
print(p1.__name)

@bmi.deleter相当于一个接口,想要直接删除私有属性是不可以的,要有这么一个接口.删除私有属性

说明:同一属性的三个函数名要相同。(例子中都是bim)

 

@bmi.setter是修改

def bmi(self,新的参数)

 

python中的@property

标签:getter   一个   blog   相同   gpo   span   weight   访问   setter   

原文地址:https://www.cnblogs.com/wanglongtai/p/8321641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!