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三种方法)的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶-----自定制property

Python 进阶 之 @property

python学习之面向对象学习进阶

Python进阶之“属性(property)”详解

Python进阶之“属性(property)”详解

Python函数进阶