欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中通過(guò)property設(shè)置類屬性的訪問

 更新時(shí)間:2023年09月05日 15:06:32   作者:棉猴  
為了達(dá)到類似C++類的封裝性能,可以使用property來(lái)設(shè)置Python類屬性的訪問權(quán)限,本文就介紹一下Python中通過(guò)property設(shè)置類屬性的訪問,感興趣的可以了解一下,感興趣的可以了解一下

Python類的所有屬性都是公共的,無(wú)法將其設(shè)置為私有,即任何實(shí)例對(duì)象都可以通過(guò)該屬性名對(duì)其進(jìn)行訪問。為了達(dá)到類似C++類的封裝性能,可以使用property來(lái)設(shè)置Python類屬性的訪問權(quán)限。

類的封裝性能,指的是只能通過(guò)指定的方法對(duì)類的屬性進(jìn)行訪問。因此,首先為類定義訪問屬性的方法。

1 定義訪問類屬性的方法

代碼如下所示

class A:
????def __init__(self, name):
????????self.name = name
????def get_name(self):
????????return self.name
????def set_name(self, name):
????????self.name = name

其中,類A有一個(gè)名為name的屬性,通過(guò)get_name()方法獲取該屬性,通過(guò)set_name()方法設(shè)置該屬性。

2 使用property()設(shè)置訪問類屬性的方法

在定義完獲取和設(shè)置屬性的方法之后,在類A的內(nèi)部使用property()設(shè)置訪問類屬性的方法,代碼如下所示。

name = property(get_name, set_name)

其中,property()的第一個(gè)參數(shù)表示獲取指定屬性時(shí)要調(diào)用的方法,第二個(gè)參數(shù)表示設(shè)置指定屬性時(shí)要調(diào)用的方法。

3 獲取和設(shè)置指定屬性

通過(guò)如下代碼獲取和設(shè)置指定屬性。

a1 = A('yang')
print(a1.my_name)
a1.my_name = 'li'
print(a1.my_name)

第一個(gè)print()中打印的是a1.my_name,此時(shí)實(shí)際上調(diào)用的是property()的第一個(gè)參數(shù),即get_name()獲取類A的屬性name;之后通過(guò)a1.my_name設(shè)置類A的屬性name,此時(shí)調(diào)用的是類A的set_name()方法。

4 property()擴(kuò)展用法

在“2 使用property()設(shè)置訪問類屬性的方法”中提到了property()前兩個(gè)參數(shù)的含義。property()第三個(gè)參數(shù)表示在刪除(del)實(shí)例對(duì)象時(shí),自動(dòng)調(diào)用的方法,而第四個(gè)參數(shù)的類型是字符串,表示對(duì)類的描述,在顯示__doc__屬性時(shí)顯示。

在類A的內(nèi)部添加如下代碼:

def del_name(self):
????????print('del_name')
my_name = property(get_name, set_name, del_name, '我是類A')

之后,在主程序中使用如下代碼

print(A.my_name.__doc__)
del a1.my_name

此時(shí),程序會(huì)打印“我是類A”和“del_name”信息。

到此這篇關(guān)于Python中通過(guò)property設(shè)置類屬性的訪問的文章就介紹到這了,更多相關(guān)Python property設(shè)置類屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算示例

    Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算示例

    這篇文章主要介紹了Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算,結(jié)合實(shí)例形式分析了scipy模塊的功能及使用scipy模塊進(jìn)行一維卷積運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取

    Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取

    這篇文章主要介紹了Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取,Python中可以通過(guò)sys.meta_path來(lái)實(shí)現(xiàn)import?hook的功能,下文詳細(xì)資料介紹,需要的小伙伴可以參考一下
    2022-05-05
  • python 列出面板數(shù)據(jù)所有變量名的示例代碼

    python 列出面板數(shù)據(jù)所有變量名的示例代碼

    在Python中,處理面板數(shù)據(jù)(Panel Data)通常使用pandas庫(kù),特別是當(dāng)數(shù)據(jù)以DataFrame或Panel,這篇文章主要介紹了python 列出面板數(shù)據(jù)所有變量名,需要的朋友可以參考下
    2024-06-06
  • 40行Python代碼實(shí)現(xiàn)天氣預(yù)報(bào)和每日雞湯推送功能

    40行Python代碼實(shí)現(xiàn)天氣預(yù)報(bào)和每日雞湯推送功能

    這篇文章主要介紹了通過(guò)40行Python代碼實(shí)現(xiàn)天氣預(yù)報(bào)和每日雞湯推送功能,代碼簡(jiǎn)單易懂,非常不錯(cuò)具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2020-02-02
  • 一文詳解Python中的時(shí)間和日期處理

    一文詳解Python中的時(shí)間和日期處理

    在Python開發(fā)中,我們經(jīng)常需要處理日期和時(shí)間,Python提供了一些內(nèi)置模塊,如datetime、time和calendar,這些模塊讓我們能夠輕松地獲取、操作和格式化日期和時(shí)間,本文將介紹如何在Python中使用這些模塊進(jìn)行日期和時(shí)間的處理
    2023-06-06
  • keras 如何保存最佳的訓(xùn)練模型

    keras 如何保存最佳的訓(xùn)練模型

    這篇文章主要介紹了keras 如何保存最佳的訓(xùn)練模型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python中的mock接口開發(fā)示例詳解

    python中的mock接口開發(fā)示例詳解

    這篇文章主要介紹了python中的mock接口開發(fā),Mock接口就是用一些合理的手段構(gòu)造對(duì)象去模擬真實(shí)接口,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 如何在Flask中實(shí)現(xiàn)數(shù)據(jù)分組流程詳解

    如何在Flask中實(shí)現(xiàn)數(shù)據(jù)分組流程詳解

    在Flask中,數(shù)據(jù)分組是指將一組數(shù)據(jù)按照某種方式進(jìn)行分類,以便更好地對(duì)數(shù)據(jù)進(jìn)行處理和展示,可以使用Python內(nèi)置的itertools模塊中的groupby方法,或者使用SQL語(yǔ)句中的GROUP?BY子句來(lái)實(shí)現(xiàn)數(shù)據(jù)分組,這篇文章介紹了在Flask中實(shí)現(xiàn)數(shù)據(jù)分組,感興趣的同學(xué)可以參考下文
    2023-05-05
  • 關(guān)于Python網(wǎng)絡(luò)爬蟲requests庫(kù)的介紹

    關(guān)于Python網(wǎng)絡(luò)爬蟲requests庫(kù)的介紹

    這篇文章主要介紹了關(guān)于Python網(wǎng)絡(luò)爬蟲requests庫(kù),而很多時(shí)候這些數(shù)據(jù)存儲(chǔ)在網(wǎng)頁(yè)中,手動(dòng)下載需要花費(fèi)的時(shí)間太長(zhǎng),這時(shí)候我們就需要網(wǎng)絡(luò)爬蟲幫助我們自動(dòng)爬取這些數(shù)據(jù),需要的朋友可以參考下
    2023-04-04
  • Python使用Flask框架同時(shí)上傳多個(gè)文件的方法

    Python使用Flask框架同時(shí)上傳多個(gè)文件的方法

    這篇文章主要介紹了Python使用Flask框架同時(shí)上傳多個(gè)文件的方法,實(shí)例分析了Python中Flask框架操作文件實(shí)現(xiàn)上傳的技巧,需要的朋友可以參考下
    2015-03-03

最新評(píng)論