Python进阶-----property用法(实现了get,set,delete三种方法)
Posted Meanwey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)属性时执行===‘
以上是关于Python进阶-----property用法(实现了get,set,delete三种方法)的主要内容,如果未能解决你的问题,请参考以下文章