码迷,mamicode.com
首页 > 编程语言 > 详细

Python进阶-----property用法(实现了get,set,delete三种方法)

时间:2018-11-04 01:49:36      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:value   prope   rop   setter   span   print   bsp   利用   foo   

一、可以利用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三种方法)

标签:value   prope   rop   setter   span   print   bsp   利用   foo   

原文地址:https://www.cnblogs.com/Meanwey/p/9902674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!