1. 程式人生 > >類中的普通方法偽裝成屬性 @property

類中的普通方法偽裝成屬性 @property

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) is
int: 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#刪除屬性