'''
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)