Python進階-----property用法(實現了get,set,delete三種方法)


一、可以利用property對靜態屬性的進行修改操作,包括設置和刪除屬性
  1、調用靜態屬性===>在靜態屬性函數前先用@property;
  2、設置靜態屬性===>在靜態屬性函數前加上@靜態屬性函數名.setter,同時靜態屬性函數要加上value參數;
  3、刪除靜態屬性===>在靜態屬性函數前加上@靜態屬性函數名.deleter。

 1 #方法一
 2 class Foo:
 3     @property
 4     def A(self):
 5         print('獲取(get)屬性時執行===')
 6 
 7     @A.setter
 8     def A(self,value):
 9         print('設置(set)屬性時執行===')
10 
11     @A.deleter
12     def A(self):
13         print('刪除(del)屬性時執行===')
14 f1 = Foo()
15 f1.A                    #'獲取(get)屬性時執行==='
16 f1.A = '1'              #'設置(set)屬性時執行==='
17 del f1.A                #'刪除(del)屬性時執行==='

二、上述操作還可以用如下方式實現
  注意:靜態屬性 = property(get_靜態屬性,set_靜態屬性,del_靜態屬性),property中的參數位置一定要按照get set del的順序。

 1 class Foo:
 2     def get_A(self):
 3         print('獲取(get)屬性時執行===')
 4     def set_A(self,value):
 5         print('設置(set)屬性時執行===')
 6     def del_A(self):
 7         print('刪除(del)屬性時執行===')
 8     A = property(get_A,set_A,de_A)
 9 
10 f2 = Foo()
11 f2.A                    #'獲取(get)屬性時執行==='
12 f2.A = '2'              #'設置(set)屬性時執行==='
13 del f2.A                #'刪除(del)屬性時執行==='

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM