python中property屬性的介紹及其應(yīng)用詳解
Python的property屬性的功能是:property屬性內(nèi)部進(jìn)行一系列的邏輯計(jì)算,最終將計(jì)算結(jié)果返回。
使用property修飾的實(shí)例方法被調(diào)用時(shí),可以把它當(dāng)做實(shí)例屬性一樣
property的用法1——裝飾器方式
在類的實(shí)例方法上應(yīng)用@property裝飾器
class Test: def __init__(self): self.__num = 100 @property def num(self): print("--get--") return self.__num @num.setter def num(self, num): print("--set--") self.__num = num t = Test() print(t.num) t.num = 1 """ --get-- 100 --set-- """
property屬性的定義和調(diào)用要注意一下幾點(diǎn):
- 定義時(shí),在實(shí)例方法的基礎(chǔ)上添加 @property 裝飾器;并且僅有一個(gè)self參數(shù)。
- 調(diào)用時(shí),無需括號。
- 經(jīng)典類中的屬性只有一種訪問方式,其對應(yīng)被 @property 修飾的方法。
- 新式類中的屬性有三種訪問方式,并分別對應(yīng)了三個(gè)被@property、@方法名.setter、@方法名.deleter修飾的方法。
- Python中的類有經(jīng)典類和新式類,新式類的屬性比經(jīng)典類的屬性豐富。( 如果類繼object,那么該類是新式類 ),python3中的類都是新式類。
property的用法2——類屬性方式
當(dāng)使用類屬性的方式創(chuàng)建property屬性時(shí),經(jīng)典類和新式類無區(qū)別
class Test: def __init__(self): self.__num = 100 def setNum(self, num): print("--set--") self.__num = num def getNum(self): print("--get--") return self.__num # 注意:要先寫get方法,再寫set方法 aa = property(getNum, setNum) t = Test() print(t.aa) t.aa = 1
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Python編程中對Monkey Patch猴子補(bǔ)丁開發(fā)方式的運(yùn)用
Monkey Patch猴子補(bǔ)丁方式是指在不修改程序原本代碼的前提下,通過添加類或模塊等方式在程序運(yùn)行過程中加入代碼,下面就來進(jìn)一步詳解Python編程中對Monkey Patch猴子補(bǔ)丁開發(fā)方式的運(yùn)用2016-05-05Python+OpenCV進(jìn)行不規(guī)則多邊形ROI區(qū)域提取
ROI即感興趣區(qū)域。機(jī)器視覺、圖像處理中,從被處理的圖像以方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,稱為感興趣區(qū)域,ROI。本文將利用Python和OpenCV實(shí)現(xiàn)不規(guī)則多邊形ROI區(qū)域提取,需要的可以參考一下2022-03-03python web.py開發(fā)httpserver解決跨域問題實(shí)例解析
這篇文章主要介紹了python web.py開發(fā)httpserver解決跨域問題實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02Python進(jìn)度條神器tqdm使用實(shí)例詳解
Python進(jìn)度條神器tqdm是一個(gè)快速、可擴(kuò)展的進(jìn)度條工具,可以輕松地為Python腳本添加進(jìn)度條。它可以在循環(huán)中自動(dòng)計(jì)算進(jìn)度,并在終端中顯示進(jìn)度條,讓用戶了解程序的運(yùn)行情況。tqdm還支持多線程和多進(jìn)程,并且可以自定義進(jìn)度條的樣式和顯示方式。2023-06-06python 使用正則表達(dá)式判斷圖片路徑是否是超鏈接的示例
在Python中,判斷一個(gè)給定的字符串(假設(shè)為圖片路徑)是否是網(wǎng)頁鏈接(URL),你可以通過檢查該字符串是否符合URL的基本格式來實(shí)現(xiàn),以下是一個(gè)使用正則表達(dá)式來判斷給定字符串是否為網(wǎng)頁鏈接(URL)的示例,感興趣的朋友跟隨小編一起看看吧2024-08-08CentOS 7下安裝Python 3.5并與Python2.7兼容并存詳解
這篇文章主要給大家介紹了在CentOS 7下安裝Python 3.5并與Python2.7兼容并存的相關(guān)資料,文中將安裝步驟介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07python elasticsearch從創(chuàng)建索引到寫入數(shù)據(jù)的全過程
這篇文章主要介紹了python elasticsearch從創(chuàng)建索引到寫入數(shù)據(jù)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08