最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中@Property屬性使用方法

 更新時(shí)間:2022年06月19日 08:56:41   作者:ζ小菜雞  
這篇文章主要介紹了python中@Property屬性使用方法,在Python中,可以通過(guò)@property裝飾器將一個(gè)方法轉(zhuǎn)換為屬性,從而實(shí)現(xiàn)用于計(jì)算的屬性,下面文章圍繞主題展開(kāi)更多相關(guān)詳情,感興趣的小伙伴可以參考一下

一、前言

本文介紹的屬性與類屬性和實(shí)例屬性不同。類屬性和實(shí)例屬性介紹的屬性將返回所存儲(chǔ)的值。而本文要介紹的屬性是一種特殊的屬性,訪問(wèn)它時(shí)將計(jì)算它的值。另外,該屬性還可以為屬性添加安全保護(hù)機(jī)制。

二、創(chuàng)建用于計(jì)算的屬性

在Python中,可以通過(guò)@property(裝飾器)將一個(gè)方法轉(zhuǎn)換為屬性,從而實(shí)現(xiàn)用于計(jì)算的屬性。將方法轉(zhuǎn)換為屬性后,可以直接通過(guò)方法名來(lái)訪問(wèn)方法,而不需要再添加一對(duì)小括號(hào)“()”,這樣可以讓代碼更簡(jiǎn)潔。

通過(guò)@property創(chuàng)建用于計(jì)算的屬性的語(yǔ)法格式如下:

@property
def methodname(self):
	block

參數(shù)說(shuō)明:

  • methodname:用于指定方法名,一般使用小寫字母開(kāi)頭。該名稱最后將作為創(chuàng)建的屬性名。
  • self:必要參數(shù),表示類的實(shí)例。
  • block:方法體,實(shí)現(xiàn)的具體功能。在方法體中,通常以return語(yǔ)句結(jié)束,用于返回計(jì)算結(jié)果。

例如,定義一個(gè)矩形類,在__init__()方法中定義兩個(gè)實(shí)例屬性,然后再定義一個(gè)計(jì)算矩形面積的方法,并應(yīng)用@property將其轉(zhuǎn)換為屬性,最后創(chuàng)建類的實(shí)例,并訪問(wèn)轉(zhuǎn)換后的屬性

代碼如下:

class Rect:
    def __init__(self, width, height):
        self.width = width  # 矩形的寬
        self.height = height  # 矩形的高
    @property  # 將方法轉(zhuǎn)換為屬性
    def area(self):
        return self.width * self.height  # 返回矩形的面積
rect = Rect(800, 600)  # 創(chuàng)建實(shí)例
print("面積為:", rect.area)  # 輸出屬性值

運(yùn)行上面代碼,將顯示以下運(yùn)行結(jié)果:

三、為屬性添加安全保護(hù)機(jī)制

在Python中,默認(rèn)情況,創(chuàng)建的類屬性或者實(shí)例,是可以在類體外進(jìn)行修改的,如果想要限制其不能在類體外修改,可以將其設(shè)置為私有的,但是設(shè)置為私有后,在類體外也不能獲取它的值。如果想要?jiǎng)?chuàng)建一個(gè)可以讀取,但不能修改的屬性,那么可以使用 @property 實(shí)現(xiàn)只讀取屬性。

例如,創(chuàng)建一個(gè)電視節(jié)目類TVshow,再創(chuàng)建一個(gè)show屬性,用于顯示當(dāng)前播放的電視節(jié)目,代碼如下:

class TVshow:  # 定義電視節(jié)目類
    def __init__(self, show):
        self.__show = show
    @property  # 將方法轉(zhuǎn)換為屬性
    def show(self):  # 定義show()方法
        return self.__show  # 返回私有屬性值
tvshow = TVshow("正在播放《戰(zhàn)狼》")  # 創(chuàng)建類的實(shí)例
print("默認(rèn):", tvshow.show)  # 獲取屬性值

運(yùn)行上面代碼,將顯示以下運(yùn)行結(jié)果:

通過(guò)上面的方法創(chuàng)建的show屬性是只讀的,嘗試修改屬性值,再重新獲取。在上面代碼的下方法添加以下代碼:

tvshow.show = "正在播放《紅海行動(dòng)》"
print("修改后:", tvshow.show)

運(yùn)行后,將顯示如下圖所示的運(yùn)行結(jié)果,其中紅字的異常信息就是修改屬性show時(shí)拋出的異常。

通過(guò)@不僅可以將屬性設(shè)置為只讀性,而且可以為屬性設(shè)置攔截器,即允許對(duì)屬性進(jìn)行修改,但是修改時(shí)需要遵守一定約束。

到此這篇關(guān)于python中@Property屬性使用方法的文章就介紹到這了,更多相關(guān)python @Property 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中三元表達(dá)式的幾種寫法介紹

    Python中三元表達(dá)式的幾種寫法介紹

    今天小編就為大家分享一篇關(guān)于Python中三元表達(dá)式的幾種寫法介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Python pass函數(shù)實(shí)例用法

    Python pass函數(shù)實(shí)例用法

    在本篇文章里小編給大家整理了一篇關(guān)于Python pass函數(shù)實(shí)例用法,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • Python實(shí)現(xiàn)指定范圍內(nèi)篩選并剔除Excel表格中的數(shù)據(jù)

    Python實(shí)現(xiàn)指定范圍內(nèi)篩選并剔除Excel表格中的數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)在指定范圍內(nèi)篩選并剔除Excel表格中的數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-06-06
  • 一文詳解PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示

    一文詳解PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示

    這篇文章主要為大家詳細(xì)介紹了Python?PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-12-12
  • Python爬蟲(chóng)利用多線程爬取 LOL 高清壁紙

    Python爬蟲(chóng)利用多線程爬取 LOL 高清壁紙

    這篇文章主要介紹了Python爬蟲(chóng)利用多線程爬取 LOL 高清壁紙,通過(guò)網(wǎng)站爬取每一個(gè)英雄的所有皮膚圖片,全部下載下來(lái)并保存到本地,下文爬取過(guò)程感興趣的朋友可以參考一下
    2022-06-06
  • 深入了解python高階函數(shù)編寫與使用

    深入了解python高階函數(shù)編寫與使用

    這篇文章主要為大家介紹了python高階函數(shù)編寫與使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>
    2021-11-11
  • 搭建Python的Django框架環(huán)境并建立和運(yùn)行第一個(gè)App的教程

    搭建Python的Django框架環(huán)境并建立和運(yùn)行第一個(gè)App的教程

    時(shí)至今日Django仍然是人氣最高的Web開(kāi)發(fā)框架,MVC結(jié)構(gòu)清晰內(nèi)置功能強(qiáng)大,這里我們就來(lái)共同學(xué)習(xí)搭建Python的Django框架環(huán)境并建立和運(yùn)行第一個(gè)App的教程
    2016-07-07
  • python常用文件操作(讀寫追加等)

    python常用文件操作(讀寫追加等)

    在Python中,文件操作是一項(xiàng)常用的任務(wù),本節(jié)將介紹如何執(zhí)行基本的文件操作,如讀取、寫入和追加數(shù)據(jù),我們將通過(guò)實(shí)例代碼詳細(xì)講解每個(gè)知識(shí)點(diǎn)
    2023-06-06
  • python 模擬登錄B站的示例代碼

    python 模擬登錄B站的示例代碼

    這篇文章主要介紹了python 模擬登錄B站的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python中從文件路徑中提取文件名及擴(kuò)展名的多種方法

    Python中從文件路徑中提取文件名及擴(kuò)展名的多種方法

    在文件處理或路徑解析過(guò)程中,提取文件名和擴(kuò)展名是一個(gè)常見(jiàn)且基本的操作,本文將介紹如何通過(guò)字符串操作提取文件名(包括擴(kuò)展名)及文件名的部分內(nèi)容,同時(shí)還將討論一些常見(jiàn)的應(yīng)用場(chǎng)景,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

淄博市| 留坝县| 东明县| 克东县| 高邮市| 天气| 额济纳旗| 景德镇市| 武胜县| 新邵县| 平塘县| 临武县| 涟水县| 广灵县| 资中县| 望谟县| 梁平县| 启东市| 民和| 博湖县| 礼泉县| 灵璧县| 丰镇市| 陆川县| 大城县| 枝江市| 涟水县| 罗平县| 玉田县| 宝丰县| 崇仁县| 纳雍县| 普兰店市| 罗定市| 凤台县| 甘谷县| 梓潼县| 东平县| 峨边| 土默特右旗| 商洛市|