面向对象:属性

假如想象 提交于 2019-12-01 09:01:34
# 属性的初识
属性: 将方法伪装成一个属性,代码上没有什么提升,只是更合理.@property  ***@属性名.setter  **@属性名.deleter  *
# class Person:##     def __init__(self,name,hight,weight):#         self.name = name#         self.__hight = hight#         self.__weight = weight##     @property#     def bmi(self):#         return '%s 的bmi 值%s' %(self.name,self.__weight / self.__hight ** 2)# p1 = Person('大阳哥',1.68,70)# # print(p1.bmi())# print(p1.bmi)# # 属性  : 将一个方法  伪装成一个 属性,在代码的级别上没有本质的提升,但是让其看起来跟合理.# print(p1.name)# p1.name = 'alex'# print(p1.name)# 属性的改class Person:    def __init__(self,name,age):        self.name = name        if type(age) is int:            self.__age = age        else:            print( '你输入的年龄的类型有误,请输入数字')    @property    def age(self):        return self.__age    @age.setter    def age(self,a1):        '''判断,你修改的年龄必须是数字'''        if type(a1) is int:            self.__age = a1        else:            print('你输入的年龄的类型有误,请输入数字')    @age.deleter    def age(self):        del self.__agep1 = Person('帅哥',20)print(p1.age)# print(p1.__dict__)# p1.age = 23# print(p1.age)del p1.age# property : 类似于bmi这种,area,周长....  ***# @age.setter  **# @age.deleter *
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!