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)属性时执行==='

 

posted @ 2018-11-03 23:41  Meanwey  阅读(3532)  评论(1编辑  收藏  举报