Python进阶-----property用法(实现了get,set,delete三种方法)
生活随笔
收集整理的這篇文章主要介紹了
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)屬性時執行===' ?
轉載于:https://www.cnblogs.com/Meanwey/p/9902674.html
總結
以上是生活随笔為你收集整理的Python进阶-----property用法(实现了get,set,delete三种方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 织梦gbk转utf8(数据库篇)
- 下一篇: c#一种存储结构解决动态平衡问题