類中的普通方法偽裝成屬性 @property
阿新 • • 發佈:2018-11-03
class P: 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) isint: self.__age=a1 else: print('你輸入的年齡的型別有誤,請重新輸入數字') @age.deleter#刪除屬性 def age(self): print('ttt') p1=P('盧卡',25) #p1.age() print(p1.age) #bmi偽裝成屬性後可以改值嗎?答:可以 在類中 先寫@方法名.setter 在寫修改的方法(@property下的方法名和@方法名.setter和@方法名.setter下的方法名 3個一樣) #p1.age=30#age是偽裝的屬性 不是真正屬性,不能在類的外部改#現在已經寫了@age.setter可以在類的外部修改age p1.age=30 print(p1.age) #print(p1.__dict__) del p1.age#刪除屬性