python 中 property 属性的讲解及应用
生活随笔
收集整理的這篇文章主要介紹了
python 中 property 属性的讲解及应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python中property屬性的功能是:property屬性內部進行一系列的邏輯計算,最終將計算結果返回
property屬性的有兩種方式:
裝飾器 即:在方法上應用裝飾器
類屬性 即:在類中定義值為property對象的類屬性
裝飾器:
裝飾器類有三種訪問方式,并分別對應了三個被@property、@方法名.setter、@方法名.deleter修飾的方法,定義為對同一個屬性:獲取、修改、刪除
class Goods(object):def __init__(self):# 原價self.original_price = 100# 折扣self.discount = 0.8@propertydef price(self):# 實際價格 = 原價 * 折扣new_price = self.original_price * self.discountreturn new_price@price.setterdef price(self, value):self.original_price = value@price.deleterdef price(self):del self.original_priceobj = Goods() obj.price # 獲取商品價格 obj.price = 200 # 修改商品原價 del obj.price # 刪除商品原價類屬性
property方法中有個四個參數
-
第一個參數是方法名,調用 對象.屬性 時自動觸發執行方法,對應獲取功能
-
第二個參數是方法名,調用 對象.屬性 = XXX 時自動觸發執行方法,對應修改功能
-
第三個參數是方法名,調用 del 對象.屬性 時自動觸發執行方法,對應刪除功能
-
第四個參數是字符串,調用 對象.屬性.__doc__,此參數是該屬性的描述信息
總結
以上是生活随笔為你收集整理的python 中 property 属性的讲解及应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python struct模块的使用
- 下一篇: python中的zip()函数和map(