国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python 類,property屬性(簡(jiǎn)化屬性的操作),@property,property

2019-11-02 14:08:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Python 類,property屬性(簡(jiǎn)化屬性的操作),@property,property()用法。分享給大家供大家參考,具體如下:

property屬性的創(chuàng)建方式有兩種:1.@property裝飾器方式   2.類屬性方式 ( 類屬性=property() )

property屬性可以簡(jiǎn)化實(shí)例對(duì)象對(duì)屬性的操作(獲取、設(shè)置),可以對(duì)屬性做類型校驗(yàn)和預(yù)處理等。

裝飾器方式:

demo.py(@property,獲取屬性值,舊式類與新式類都有的方式):

class Goods:  @property  # 只能傳遞self參數(shù)。 必須返回一個(gè)值  def size(self):    return 100 # 必須返回一個(gè)值obj = Goods()result = obj.size # 調(diào)用屬性(沒(méi)有用小括號(hào),用屬性的方式調(diào)用函數(shù))print(result)# property屬性一般對(duì)屬性值做一些預(yù)處理或格式化處理等,可以簡(jiǎn)化屬性的獲取。

運(yùn)行結(jié)果:

100

demo.py(@xxx.setter,@xxx.deleter,設(shè)置屬性值、刪除屬性,新式類支持的方式):

class Goods(object):  def __init__(self):    # 原價(jià)    self.original_price = 100    # 折扣    self.discount = 0.8  @property  # 方式一 獲取屬性值 (新式類和舊式類都支持該方式)  def price(self):    # 實(shí)際價(jià)格 = 原價(jià) * 折扣    new_price = self.original_price * self.discount    return new_price  @price.setter  # 方式二 設(shè)置屬性值 (舊式類不支持,需要傳兩個(gè)參數(shù))  def price(self, value):    self.original_price = value  @price.deleter  # 方式三 刪除屬性 (舊式類不支持)  def price(self):    del self.original_priceobj = Goods()obj.price     # 獲取商品價(jià)格 (自動(dòng)調(diào)用@property修飾的函數(shù))obj.price = 200  # 修改商品原價(jià) (自動(dòng)調(diào)用@price.setter修飾的函數(shù),并將200傳給函數(shù))del obj.price   # 刪除商品原價(jià) (自動(dòng)調(diào)用@price.deleter修飾的函數(shù))

類屬性方式:

demo.py(類屬性創(chuàng)建property屬性,舊式類與新式類都支持):

class Goods(object):  def __init__(self):    # 原價(jià)    self.original_price = 100    # 折扣    self.discount = 0.8  def get_price(self):    # 實(shí)際價(jià)格 = 原價(jià) * 折扣    new_price = self.original_price * self.discount    return new_price  def set_price(self, value):    self.original_price = value  def del_price(self):    del self.original_price  # 類屬性。 property(方法名1,方法名2,方法名3,"屬性描述信息")  PRICE = property(get_price, set_price, del_price, "屬性描述信息...")obj = Goods()obj.PRICE     # 獲取商品價(jià)格 自動(dòng)調(diào)用propert()函數(shù)第一個(gè)參數(shù)指定的方法。obj.PRICE = 200  # 設(shè)置商品原價(jià) 自動(dòng)調(diào)用propert()函數(shù)第二個(gè)參數(shù)指定的方法。desc = Goods.PRICE.__doc__ # 自動(dòng)獲取第四個(gè)參數(shù)中設(shè)置的值:屬性描述信息...print(desc)del obj.PRICE   # 刪除商品原價(jià) 自動(dòng)調(diào)用propert()函數(shù)第三個(gè)參數(shù)指定的方法。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 张北县| 三亚市| 石柱| 台南县| 金堂县| 青田县| 安化县| 页游| 元氏县| 罗田县| 栾川县| 古蔺县| 涟源市| 铜鼓县| 长兴县| 北辰区| 忻城县| 桐乡市| 仁怀市| 瑞昌市| 夏河县| 灵璧县| 革吉县| 信丰县| 长治市| 金山区| 海安县| 灵丘县| 阿巴嘎旗| 兴安县| 江陵县| 高淳县| 建水县| 长宁县| 梧州市| 仁寿县| 太保市| 沙湾县| 阿克陶县| 富民县| 富民县|