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

python防止隨意修改類屬性的實現(xiàn)方法

 更新時間:2019年08月21日 08:23:14   投稿:zx  
這篇文章主要介紹了python防止隨意修改類屬性的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

如果不想允許隨意修改一個類的某個屬性,常用的方法是使用property裝飾器以及在屬性前加下劃線。

class V:
  def __init__(self, x): 
    self._x = x
  
  @property
  def x(self):
    return self._x 

雖然這樣是沒法直接修改x了,但還是可以通過_x很輕易地修改x。

>>>v = V(5)
>>>v.x
5
>>>v._x
5
>>>v.x = 4
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: cant set attribute
>>>v._x = 4
>>>v.x
4

萬一哪天手抖了呢...

但如果使用雙下劃線——

class V:
  def __init__(self,x):
    self.__x = x

  @property
  def x(self):
    return self.__x

>>>v = V(5)
>>>v.__x = 4
>>>v.__x
4
>>>v.x
5

原因在于python的名稱改寫特性(name mangling)。python會將以雙下劃線開頭的實例屬性名前加上一個下劃線和類名存入實例的__dict__屬性中。

>>>v = V(5)
>>>v.__dict__
{'_V__x': 5}
>>>v.__x = 4
>>>v.__dict__
{'_V__x': 5, '__x': 4}

當然,修改v.x的值還是可以做到的的,只需通過修改v._V__x就可以了,不過誤操作的可能性已經(jīng)降低很多了。

p.s.類也有__dict__屬性。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python日志采集代碼詳解

    Python日志采集代碼詳解

    這篇文章主要介紹了Python日志采集,在實際使用python做自動化測試過程中兩種解決思路都可以使用,且都挺方便,其中對于思路1,還可以將代碼進行更進一步的封裝,需要的朋友可以參考下
    2022-05-05
  • Queue 實現(xiàn)生產(chǎn)者消費者模型(實例講解)

    Queue 實現(xiàn)生產(chǎn)者消費者模型(實例講解)

    下面小編就為大家?guī)硪黄猀ueue 實現(xiàn)生產(chǎn)者消費者模型(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • python Task在協(xié)程調(diào)用實例講解

    python Task在協(xié)程調(diào)用實例講解

    在本篇文章里小編給大家整理了一篇關(guān)于python Task如何在協(xié)程調(diào)用的相關(guān)內(nèi)容,有興趣的朋友們可以參考下。
    2021-04-04
  • pytorch 使用加載訓練好的模型做inference

    pytorch 使用加載訓練好的模型做inference

    今天小編就為大家分享一篇pytorch 使用加載訓練好的模型做inference,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python3 Post登錄并且保存cookie登錄其他頁面的方法

    Python3 Post登錄并且保存cookie登錄其他頁面的方法

    今天小編就為大家分享一篇Python3 Post登錄并且保存cookie登錄其他頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 2023年最新版Python?3.12.0安裝使用指南(推薦!)

    2023年最新版Python?3.12.0安裝使用指南(推薦!)

    這篇文章主要給大家介紹了關(guān)于2023年最新版Python?3.12.0安裝使用的相關(guān)資料,Python?現(xiàn)在是非常流行的編程語言,當然并不是說Python語言性能多么強大,而是Python使用非常方便,特別是現(xiàn)在AI和大數(shù)據(jù)非常流行,用?Python?實現(xiàn)是非常容易的,需要的朋友可以參考下
    2023-10-10
  • Python繪制指數(shù)概率分布函數(shù)

    Python繪制指數(shù)概率分布函數(shù)

    指數(shù)分布是一種廣泛應(yīng)用于數(shù)據(jù)科學和統(tǒng)計學中的連續(xù)概率分布,本文將詳細介紹如何在Python中快速上手繪制指數(shù)分布的概率密度函數(shù)圖,需要的可以參考下
    2025-01-01
  • Python實現(xiàn)數(shù)字的格式化輸出

    Python實現(xiàn)數(shù)字的格式化輸出

    這篇文章主要介紹了Python如何實現(xiàn)數(shù)字的格式化輸出,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • Python?如何實現(xiàn)批量轉(zhuǎn)換視頻音頻的采樣率

    Python?如何實現(xiàn)批量轉(zhuǎn)換視頻音頻的采樣率

    這篇文章主要分享一個python代碼,可以將多個視頻中的音頻轉(zhuǎn)化為相同采樣率的視頻,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2021-11-11
  • PyQt5中QLCDNumber的實現(xiàn)

    PyQt5中QLCDNumber的實現(xiàn)

    本文主要介紹了PyQt5中QLCDNumber的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04

最新評論

三河市| 东平县| 米林县| 宣恩县| 大洼县| 镇坪县| 琼结县| 台南市| 崇文区| 德庆县| 神池县| 陇南市| 四平市| 江油市| 讷河市| 民乐县| 祁连县| 肥东县| 上林县| 博爱县| 衡山县| 清苑县| 兰西县| 阿城市| 黄浦区| 铁岭市| 昌江| 左权县| 湘阴县| 武川县| 巩义市| 德化县| 乌拉特后旗| 镇安县| 北海市| 固始县| 金秀| 太康县| 柞水县| 绍兴县| 抚宁县|