中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
十一、Python @property裝飾器詳解
既要保護(hù)類的封裝特性,又要讓開發(fā)者可以使用“對象.屬性”的方式操作操作類屬性,除了使用 property() 函數(shù),Python 還提供了 @property 裝飾器。通過 @property 裝飾器,可以直接通過方法名來訪問方法,不需要在方法名后添加一對“()”小括號。

@property 的語法格式如下:

@property
def 方法名(self)
    代碼塊

例如,定義一個矩形類,并定義用 @property 修飾的方法操作類中的 area 私有屬性,代碼如下:
  1. class Rect:

  2. def __init__(self,area):

  3. self.__area = area

  4. @property

  5. def area(self):

  6. return self.__area

  7. rect = Rect(30)

  8. #直接通過方法名來訪問 area 方法

  9. print("矩形的面積是:",rect.area)

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

矩形的面積為: 30

上面程序中,使用 @property 修飾了 area() 方法,這樣就使得該方法變成了 area 屬性的 getter 方法。需要注意的是,如果類中只包含該方法,那么 area 屬性將是一個只讀屬性。

也就是說,在使用 Rect 類時(shí),無法對 area 屬性重新賦值,即運(yùn)行如下代碼會報(bào)錯:
  1. rect.area = 90

  2. print("修改后的面積:",rect.area)

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

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 10, in <module>
    rect.area = 90
AttributeError: can't set attribute


而要想實(shí)現(xiàn)修改 area 屬性的值,還需要為 area 屬性添加 setter 方法,就需要用到 setter 裝飾器,它的語法格式如下:

@方法名.setter
def 方法名(self, value):
    代碼塊

例如,為 Rect 類中的 area 方法添加 setter 方法,代碼如下:
  1. @area.setter

  2. def area(self, value):

  3. self.__area = value

再次運(yùn)行如下代碼:
  1. rect.area = 90

  2. print("修改后的面積:",rect.area)

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

修改后的面積: 90

這樣,area 屬性就有了 getter 和 setter 方法,該屬性就變成了具有讀寫功能的屬性。

除此之外,還可以使用 deleter 裝飾器來刪除指定屬性,其語法格式為:

@方法名.deleter
def 方法名(self):
    代碼塊

例如,在 Rect 類中,給 area() 方法添加 deleter 方法,實(shí)現(xiàn)代碼如下:
  1. @area.deleter

  2. def area(self):

  3. self.__area = 0

然后運(yùn)行如下代碼:
  1. del rect.area

  2. print("刪除后的area值為:",rect.area)

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

刪除后的area值為: 0

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
技術(shù)圖文:Python屬性裝飾器詳解
python裝飾器--@property
如何利用Python中的@property裝飾器快速重構(gòu)代碼?
【Python之路】特別篇
Python集訓(xùn)營45天—Day07 (面向?qū)ο缶幊踢M(jìn)階)
面向?qū)ο缶幊?二)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服