python之property装饰器

'''
1、什么是property?
    是一个python内置的装饰器,可以装饰在“类的内部的方法”上
    可以将改方法由————>obj.method()的调用方式转换为obj.method

2、为什么用property?
    可以让外部像获取属性一样去调用一个方法。

3、如何用?
'''
class Person:
    def __init__(self, name, weight, height):
        self.__name = name
        self.weight = weight
        self.height = height

    @property
    def bmi(self):
        # print(f'{self.weight / (self.height ** 2)}')
        return self.weight / (self.height ** 2)

    @property
    def name(self):
        return self.__name
    @name.setter
    def name(self,value):
        self.__name = value
    @name.deleter
    def name(self):
        del self.__name

p1_obj = Person('Yyh', 70, 1.8)
print(p1_obj.name)
print(p1_obj.bmi)

p1_obj.name = 'tank'
print(p1_obj.name)
posted @ 2019-11-28 16:51  GhostAnt  阅读(139)  评论(0编辑  收藏  举报