一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python的只讀屬性定義方法

汽車(chē)玩家 ? 來(lái)源:今日頭條 ? 作者:我愛(ài)學(xué)Python ? 2020-01-18 09:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python是面向?qū)ο?OOP)的語(yǔ)言, 而且在OOP這條路上比Java走得更徹底, 因?yàn)樵赑ython里, 一切皆對(duì)象, 包括int, float等基本數(shù)據(jù)類型.

在Java里, 若要為一個(gè)類定義只讀的屬性, 只需要將目標(biāo)屬性用private修飾, 然后只提供getter()而不提供setter(). 但Python沒(méi)有private關(guān)鍵字, 如何定義只讀屬性呢? 有兩種方法, 第一種跟Java類似, 通過(guò)定義私有屬性實(shí)現(xiàn). 第二種是通過(guò)__ setattr__.

通過(guò)私有屬性

用私有屬性+@property定義只讀屬性, 需要預(yù)先定義好屬性名, 然后實(shí)現(xiàn)對(duì)應(yīng)的getter方法.,如果對(duì)屬性還不懂。

輸出:

可以看出, 屬性x是可讀但不可寫(xiě)的.

通過(guò) __ setattr__當(dāng)我們調(diào)用obj.attr=value時(shí)發(fā)生了什么?

很簡(jiǎn)單, 調(diào)用了obj的__ setattr__方法. 可通過(guò)以下代碼驗(yàn)證:

輸出:

所以呢, 只需要在__ setattr__ 方法里擋一下, 就可以阻止屬性值的設(shè)置, 可謂是釜底抽薪.

代碼:

輸出:

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109776
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86766
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用Python API在OpenVINO?中創(chuàng)建了用于異步推理的自定義代碼,輸出張量的打印結(jié)果會(huì)重復(fù),為什么?

    使用 Python* API 在 OpenVINO? 中創(chuàng)建了用于異步推理的自定義代碼。 遇到輸出張量的打印結(jié)果會(huì)重復(fù)的問(wèn)題,即使輸入圖像不同。
    發(fā)表于 03-06 07:53

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個(gè)推理過(guò)程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結(jié)果與 Python* 代碼不同。
    發(fā)表于 03-06 06:22

    運(yùn)行OVModelForCausalLM Python模塊時(shí)出錯(cuò)了,怎么解決?

    創(chuàng)建了一個(gè)自定義 Python* 代碼,類似于遵循 240-dolly-2-instruction 的 Jupyter 筆記本。 OVModelForCausalLM Python* 模塊運(yùn)行時(shí)出錯(cuò)。
    發(fā)表于 03-05 06:44

    深入探索GCC的attribute屬性

    如果經(jīng)??碙inux源碼,一定會(huì)見(jiàn)過(guò) attribute 屬性,他在 Linux 里面出現(xiàn)的很多。 attribute 是 gcc 的擴(kuò)展功能,它不屬于標(biāo)準(zhǔn)C語(yǔ)言。 使用 attribute 可以
    的頭像 發(fā)表于 02-13 10:05 ?415次閱讀

    基準(zhǔn)定義、標(biāo)注方法及設(shè)計(jì)選取

    一、基準(zhǔn)的定義 首先我們要清楚關(guān)于基準(zhǔn)的一些定義,根據(jù)國(guó)標(biāo)GB/T1182、GB/T4249-1996、GB/T16671-1996中的定義。 基準(zhǔn)要素:是指用來(lái)確定被測(cè)要素方向和位置的要素,在零件
    的頭像 發(fā)表于 01-23 10:27 ?3452次閱讀
    基準(zhǔn)<b class='flag-5'>定義</b>、標(biāo)注<b class='flag-5'>方法</b>及設(shè)計(jì)選取

    Chart FX-使用API傳輸數(shù)據(jù) 使用Value屬性傳輸數(shù)據(jù)

    有時(shí),向 Chart FX 傳輸數(shù)值數(shù)據(jù)最簡(jiǎn)單方便的方法就是使用 Value 屬性。通過(guò) Value 屬性,您可以為圖表中特定series中的某一point設(shè)置數(shù)值。 Value 屬性
    的頭像 發(fā)表于 01-09 16:30 ?409次閱讀
    Chart FX-使用API傳輸數(shù)據(jù) 使用Value<b class='flag-5'>屬性</b>傳輸數(shù)據(jù)

    Chart FX之DataGrid電子表格

    通過(guò)禁用只讀屬性來(lái)實(shí)現(xiàn)其可編輯性,如下圖所示。 此外,DataGrid 還允許開(kāi)發(fā)人員通過(guò)使用每個(gè)單元格的屬性,在非常細(xì)的級(jí)別上完全自定義外觀和感覺(jué)。 單元格
    的頭像 發(fā)表于 01-06 10:59 ?387次閱讀
    Chart FX之DataGrid電子表格

    等離子的基本屬性_等離子體如何發(fā)生

    。 ? ? 等離子的基本屬性 從物理學(xué)角度來(lái)看,“等離子體”的定義是: 一種由離子、電子和中性粒子組成的電中性、高度電離的氣體。它是物質(zhì)的一種狀態(tài),被認(rèn)為不同于固體、液體和普通氣體。 一種物質(zhì)狀態(tài),其中部分或全部電子已從
    的頭像 發(fā)表于 01-03 09:14 ?1072次閱讀
    等離子的基本<b class='flag-5'>屬性</b>_等離子體如何發(fā)生

    SOLIDWORKS高級(jí)BOM及屬性批量導(dǎo)入工具

    SOLIDWORKS BOM插件-SolidKits.BOMs工具可以準(zhǔn)確、規(guī)范、便捷的一鍵完成各種結(jié)構(gòu)BOM導(dǎo)出,匯總BOM生成,批量導(dǎo)入屬性,自動(dòng)建立結(jié)構(gòu),實(shí)現(xiàn)規(guī)范化管理,并自定義打包操作,還可根據(jù)企業(yè)需求定制模板.BOM工具試用/報(bào)價(jià)/購(gòu)買(mǎi),歡迎點(diǎn)擊咨詢Solidk
    的頭像 發(fā)表于 12-02 16:11 ?911次閱讀

    Python中dict支持多個(gè)key的方法

    ? 在Python中,字典(dict)是一種非常強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),它允許我們通過(guò)鍵(key)來(lái)存儲(chǔ)和檢索值(value)。有時(shí)候,我們可能想要根據(jù)多個(gè)鍵來(lái)檢索或操作字典中的數(shù)據(jù)。雖然Python的字典
    的頭像 發(fā)表于 11-29 15:59 ?539次閱讀

    只讀存儲(chǔ)器的基本結(jié)構(gòu)和工作過(guò)程

    只讀存儲(chǔ)器(Read-Only Memory,ROM)是一種重要的計(jì)算機(jī)存儲(chǔ)設(shè)備,它以非破壞性讀出方式工作,即只能讀出存儲(chǔ)的信息而無(wú)法直接寫(xiě)入新的信息。這種特性使得ROM在存儲(chǔ)固定程序和數(shù)據(jù)方面具有獨(dú)特的優(yōu)勢(shì)。下面將詳細(xì)闡述只讀存儲(chǔ)器的基本結(jié)構(gòu)、工作過(guò)程以及相關(guān)的技術(shù)細(xì)節(jié)
    的頭像 發(fā)表于 09-05 10:43 ?2494次閱讀

    晶振管腳定義和檢測(cè)方法

    晶振(Crystal Oscillator)是一種將電能轉(zhuǎn)換為機(jī)械能,再將機(jī)械能轉(zhuǎn)換回電能的電子元件,廣泛應(yīng)用于各種電子設(shè)備中,如手機(jī)、電腦、通訊設(shè)備等。晶振的管腳定義和檢測(cè)方法對(duì)于保證電子設(shè)備正常
    的頭像 發(fā)表于 08-28 09:58 ?2767次閱讀

    可編程的只讀存儲(chǔ)器是否可以改寫(xiě)

    可編程的只讀存儲(chǔ)器(Programmable Read-Only Memory,簡(jiǎn)稱PROM)是一種特殊的只讀存儲(chǔ)器,它允許用戶在制造后對(duì)其進(jìn)行編程。然而,一旦編程完成,PROM的內(nèi)容就變得
    的頭像 發(fā)表于 08-06 09:25 ?1336次閱讀

    可編程只讀存儲(chǔ)器是由固定的什么組成

    可編程只讀存儲(chǔ)器(Programmable Read-Only Memory,簡(jiǎn)稱PROM)是一種特殊的只讀存儲(chǔ)器,用戶可以根據(jù)自己的需要對(duì)其進(jìn)行編程,從而實(shí)現(xiàn)對(duì)存儲(chǔ)器中數(shù)據(jù)的自定義。PROM的出現(xiàn)
    的頭像 發(fā)表于 08-06 09:23 ?910次閱讀

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語(yǔ)言之一。Python的易學(xué)易用、豐富的庫(kù)和框架以及強(qiáng)大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語(yǔ)言。而在深度學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?3284次閱讀