一、可以利用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)屬性時執行==='