亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python高級(jí)property屬性用法實(shí)例分析

 更新時(shí)間:2019年11月19日 11:42:15   作者:HMMHMH  
這篇文章主要介紹了Python高級(jí)property屬性用法,結(jié)合實(shí)例形式分析了Python property屬性的功能及各種常見(jiàn)的使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python高級(jí)property屬性用法。分享給大家供大家參考,具體如下:

property屬性

1.property屬性:

是一個(gè)提高開(kāi)發(fā)者用戶(hù)體驗(yàn)度的屬性,可以將一個(gè)函數(shù)改造的像屬性一樣。

例:

# 定義的時(shí)候像是一個(gè)函數(shù) 使用的時(shí)候和屬性的方式是以樣的
class Foo(object):
  @property
  def money(self):
    return 100
# f = Foo()
# m = f.money()
# print(m)
f = Foo()
print(f.money)

執(zhí)行結(jié)果:

2.property簡(jiǎn)單應(yīng)用:

例:根據(jù)當(dāng)前頁(yè)數(shù)和每頁(yè)顯示數(shù)據(jù)條數(shù),計(jì)算出該頁(yè)起始編號(hào)和結(jié)尾編號(hào)

class Pager:
  def __init__(self, current_page):
    # 用戶(hù)當(dāng)前請(qǐng)求的頁(yè)碼(第一頁(yè)、第二頁(yè)...)
    self.current_page = current_page
    # 每頁(yè)默認(rèn)顯示100條數(shù)據(jù)
    self.per_items = 100
  @property
  def start(self):
    val = (self.current_page - 1) * self.per_items + 1
    return val
  @property
  def end(self):
    val = self.current_page * self.per_items
    return val
p = Pager(2)
print(p.start)
print(p.end)

執(zhí)行結(jié)果:

3.裝飾器方式:在方法上應(yīng)用裝飾器

三種@property裝飾器:

class Goods:
  @property
  def price(self):
    print('@property')
  @price.setter
  def price(self, value):
    print('@price.setter')
  @price.deleter
  def price(self):
    print('@price.deleter')
# ############### 調(diào)用 ###############
obj = Goods()
obj.price     # 自動(dòng)執(zhí)行 @property 修飾的 price 方法,并獲取方法的返回值
obj.price = 123  # 自動(dòng)執(zhí)行 @price.setter 修飾的 price 方法,并將 123 賦值給方法的參數(shù)
del obj.price   # 自動(dòng)執(zhí)行 @price.deleter 修飾的 price 方法

例:

class Goods(object):
  def __init__(self):
    self.org_price = 1000 # 價(jià)格
    self.discount = 0.7 # 折扣
  @property
  def price(self):
    val = self.org_price * self.discount
    # 返回價(jià)格*折扣
    return val
  @price.setter
  def price(self, new_val):
    # 接收val,將價(jià)格修改為val
    self.org_price = new_val
  @price.deleter
  def price(self):
    # 將折扣修改為1(刪掉折扣)
    self.discount = 1
g = Goods()
print(g.price)
g.price = 2000
print(g.price)
del g.price
print(g.price)

執(zhí)行結(jié)果:

4.類(lèi)屬性方式:在類(lèi)中定義值為property對(duì)象的類(lèi)屬性

屬性名 = property(獲取, 修改, 刪除, 備注)

例:

class Goods(object):
  def __init__(self):
    self.org_price = 1000 # 價(jià)格
    self.discount = 0.7 # 折扣
  def get_price(self):
    val = self.org_price * self.discount
    # 返回價(jià)格*折扣
    return val
  def set_price(self, new_val):
    # 接收new_val,將價(jià)格修改為new_val
    self.org_price = new_val
  def del_price(self):
    # 將折扣修改為1(刪掉折扣)
    self.discount = 1
  price = property(get_price, set_price, del_price, "備注:價(jià)格")
g = Goods()
print(g.price) # 獲取商品價(jià)格
g.price = 2000 # 修改商品價(jià)格
print(g.price) 
del g.price # 刪除商品折扣
print(g.price)
print(Goods.price.__doc__)

執(zhí)行結(jié)果:

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

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

相關(guān)文章

  • Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計(jì)算實(shí)例

    Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計(jì)算實(shí)例

    今天小編就為大家分享一篇Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python實(shí)現(xiàn)的根據(jù)文件名查找數(shù)據(jù)文件功能示例

    Python實(shí)現(xiàn)的根據(jù)文件名查找數(shù)據(jù)文件功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的根據(jù)文件名查找數(shù)據(jù)文件功能,涉及Python針對(duì)文件與目錄的遍歷、查詢(xún)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Python通過(guò)wordcloud庫(kù)實(shí)現(xiàn)將單詞生成詞云

    Python通過(guò)wordcloud庫(kù)實(shí)現(xiàn)將單詞生成詞云

    Python的wordcloud庫(kù)是一個(gè)用于生成詞云的Python包,它可以將一段文本中出現(xiàn)頻率高的單詞按其出現(xiàn)頻率大小以及顏色深淺排列成一個(gè)詞云圖形,從而更好地展示文本中的信息,你可以使用wordcloud庫(kù)來(lái)生成各種類(lèi)型的詞云,本文就介紹了如何生成心型詞云
    2023-06-06
  • Python decimal模塊使用方法詳解

    Python decimal模塊使用方法詳解

    這篇文章主要介紹了Python decimal模塊使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python爬蟲(chóng)之利用selenium+opencv識(shí)別滑動(dòng)驗(yàn)證并模擬登陸知乎功能

    python爬蟲(chóng)之利用selenium+opencv識(shí)別滑動(dòng)驗(yàn)證并模擬登陸知乎功能

    本文給大家介紹python爬蟲(chóng)之利用selenium+opencv識(shí)別滑動(dòng)驗(yàn)證并模擬登陸知乎功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09
  • 安裝python-docx后,無(wú)法在pycharm中導(dǎo)入的解決方案

    安裝python-docx后,無(wú)法在pycharm中導(dǎo)入的解決方案

    這篇文章主要介紹了安裝python-docx后,無(wú)法在pycharm中導(dǎo)入的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 在Python中使用filter去除列表中值為假及空字符串的例子

    在Python中使用filter去除列表中值為假及空字符串的例子

    今天小編就為大家分享一篇在Python中使用filter去除列表中值為假及空字符串的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 詳解Python中的變量及其命名和打印

    詳解Python中的變量及其命名和打印

    這篇文章主要介紹了Python中的變量及其命名和打印,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-03-03
  • Python裝飾器詳情

    Python裝飾器詳情

    這篇文章主要介紹了Python裝飾器,裝飾器Decorator從字面上理解,就是裝飾對(duì)象的器件,其的特點(diǎn)是特點(diǎn)是函數(shù)是作為其參數(shù)出現(xiàn)的,裝飾器還擁有閉包的特點(diǎn),下面來(lái)看看文中的具體內(nèi)容
    2021-11-11
  • 全面了解Python的getattr(),setattr(),delattr(),hasattr()

    全面了解Python的getattr(),setattr(),delattr(),hasattr()

    下面小編就為大家?guī)?lái)一篇全面了解Python的getattr(),setattr(),delattr(),hasattr()。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06

最新評(píng)論