一、可以利用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)属性时执行==='