1. 程式人生 > 實用技巧 >私有,封裝

私有,封裝

 1 # --------------------------------------私有-封裝------------------------------------------------
 2 class person():
 3 #     def setname(self,name):
 4 #         self.name = name
 5 #     def getname(self):
 6 #
 7 #         print('name is:%s'%self.name)
 8 #         return self.name
 9 #
10 # p1= person()
11 # p1.setname('lili') 12 # p1.name = 'llll' 13 # p1.getname() 14 15 16 @property #裝飾器,設定函式功能 17 def name(self): 18 return self.__name 19 @name.setter 20 def name(self,name): 21 self.__name = name 22 23 def info(self): 24 print('name is:%s'%self.__name
) 25 26 p1 = person() 27 p1.name = 'lili' 28 29 p1.info()

有裝飾器後就不用再呼叫類的get、set(自己設定的)方法來設定私有屬性的值,(類的私有屬性只能在類內部才能呼叫,不能再外部直接呼叫或更改,要使用類內部的更改方法,比如自定義的set),比如上面程式碼中,物件就可以直接更改屬性,而沒有用到類裡的更改方法