国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python中的特性管理模式詳細說明

89542767 / 749人閱讀

  本文關鍵闡述了python中的特性管理模式,主要包含私有屬性和特性局限-__slots__方式,原文中闡述了python中怎樣去聲明變量的基本知識,必須的小伙伴可以借鑒一下


  一、私有屬性


  Python并沒真正意義上的民營化適用,但可以用下橫線獲得偽私,其中一項大部分Python編碼都遵照的好習慣:含有下橫線,作為前綴的名字應被稱作非公開的API中的一部分(不論是函數公式、方式或是數據成員)


  python中私并無法實現真正意義上的私,只不過是在儲存屬性情況下改了一個名稱,在外部不能直接方式


  私有屬性主要表現為:


  _參數名:聲明式私有屬性


  __參數名:_類名+私有屬性名


</>復制代碼

  1.   classAttributes:
  2.   attr=100
  3.   #聲明式私有屬性
  4.   _attr2=999
  5.   #_類名+私有屬性名
  6.   __attr3=888
  7.   print(Attributes.attr)
  8.   print(Attributes._attr2)


  雙下劃線的私有屬性,去啟用時,并沒__attr3這一屬性名,用dict特性,去查詢特性詞典看看:

01.png

  能夠看見是雙下劃線的私有屬性是:_類名+私有屬性名


  二、特性局限-__slots__方式


  界定過slots屬性來局限類案例的特性,只有關聯slots特定的特性,不可以加上slots以外的特性


  加上slots以外的特性,就會直接出錯


  classDemo:


  應用__slots__給目標做特性局限,只有加上特定特性name,age


</>復制代碼

  1.   __slots__=['name','age']
  2.   m=Demo()
  3.   m.name=111
  4.   m.age=18
  5.   print(m.name,m.age)
  6.   前去加上特定特性以外的特性
  7.   m.sex=男


  執行結果:


  出錯:AttributeError:‘Demo’objecthasnoattribute‘sex’目標Demo并沒有‘sex’這一特性

02.png

  三、python中怎樣去聲明變量


  詞法:主要參數,屬性種類


  比如:a:int=[11,22,3]主要參數a,為非int,數值[11,22,3]


  python中能夠聲明變量或參數種類,但實際上執行命令一般不會去校檢種類


</>復制代碼

  1.   a:int="python"#設定的為int種類,可是傳值為字符串類型
  2.   b:str=11#設定的為字符串類型,可是傳值為int種類
  3.   c:list={11,22,33}#設定的為列表,可是傳值為詞典
  4.   print(a,b,c)#==========》依然可以實行打印出來
  5.   #函數參數的類型聲明:
  6.   defwork(name:str,age:int):#設定的為字符串類型和int種類
  7.   print('name的數值',name)
  8.   print('age的數值',age)
  9.   #實際傳參一個列表,一個詞典
  10.   work([11,22,33],{'a':1,'b':2})


  執行結果:

03.png

  四、python中的有關特性


  __getattr__方式:


  使用方法:獲得特性,特性不會有時開啟的辦法


  獨特步驟:當去獲得特性時,先實行__getattribute__去看是否有特性,有就回到,假如沒有的話去行動__getattr__方式,回到特性不會有


  getattribute(self,item):


  使用方法:特性瀏覽開啟的魔術師方式,搜索特性時,首位時間能啟用此方法


</>復制代碼

  1.   setattr(self,key,value):
  2.   使用方法:設定屬性方式,設定特性時,啟用此方法設定特性
  3.   __delattr__方式:
  4.   使用方法:在del刪除特性時開啟,刪除屬性方式
  5.   classMyDemo(object):
  6.   def__getattribute__(self,item):
  7.   """
  8.   特性瀏覽開啟的魔術師方式
  9.   :paramitem:獲取的屬性名
  10.   :return:獲取到的屬性值
  11.   """
  12.   print("您要獲得的特性為:",item)
  13.   value=super().__getattribute__(item)#繼承父類
  14.   returnvalue
  15.   def__setattr__(self,key,value):
  16.   """
  17.   設定屬性方式
  18.   :paramkey:屬性名
  19.   :paramvalue:屬性值
  20.   :return:
  21.   """
  22.   print("您要設定的屬性名{},屬性值為:{}".format(key,value))
  23.   super().__setattr__(key,value)
  24.   def__delattr__(self,item):
  25.   """
  26.   刪除屬性方式
  27.   :paramitem:屬性名
  28.   :return:
  29.   """
  30.   print("您要刪除的特性為:",item)
  31.   super().__delattr__(item)
  32.   def__getattr__(self,item):
  33.   """
  34.   獲得特性,特性不會有時開啟的辦法
  35.   :paramitem:
  36.   :return:
  37.   """
  38.   print("獲得的特性{},不會有".format(item))
  39.   return99
  40.   m=MyDemo()
  41.   print("*************************特性設定******************************")
  42.   #特性設定
  43.   #設定特性方式一:
  44.   m.aa=999
  45.   m.name='musen'
  46.   #設定特性方式二:setattr方式:
  47.   setattr(MyDemo(),'age',18)
  48.   print("************************獲得特性*******************************")
  49.   #獲得特性
  50.   #方式一:
  51.   print(m.aa)
  52.   print(m.name)
  53.   #方式二:getattr方式
  54.   print(getattr(m,'name'))
  55.   print("************************刪除特性********************************")
  56.   #刪除特性
  57.   #方式一:
  58.   delm.aa
  59.   #方式二:delattr方式
  60.   delattr(m,'age')


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/130282.html

相關文章

  • 可能是最詳細的部署:Docker Registry企業級私有鏡像倉庫Harbor管理WEB UI

    摘要:私有倉庫是,并在中運行。不要使用或為主機名注冊表服務需要由外部客戶端訪問或,默認為用于訪問和令牌通知服務的協議。打開或關閉,默認打開打開此屬性時,準備腳本創建私鑰和根證書,用于生成驗證注冊表令牌。 上一篇文章搭建了一個具有基礎功能,權限認證、TLS 的私有倉庫,但是Docker Registry 作為鏡像倉庫,連管理界面都沒有,甚至連一些運維必備的功能都是缺失的,還有什么 Docker...

    沈儉 評論0 收藏0
  • API例子:用Python驅動Firefox采集網頁數據

    摘要:開源即時網絡爬蟲項目將與基于的異步網絡框架集成,所以本例將使用采集淘寶這種含有大量代碼的網頁數據,但是要注意本例一個嚴重缺陷用加載網頁的過程發生在中,破壞了的架構原則。 showImg(https://segmentfault.com/img/bVyzAX); 1,引言 本文講解怎樣用Python驅動Firefox瀏覽器寫一個簡易的網頁數據采集器。開源Python即時網絡爬蟲項目將與S...

    Harriet666 評論0 收藏0
  • Python貓薦書系統之四:《Python源碼剖析》

    摘要:以下內容僅針對版書籍,等新版上市后,薦書欄目會對兩版的差異跟進介紹。當然,后續其它薦書的書目,也很有可能會送福利,一樣不容錯過。 showImg(https://segmentfault.com/img/bVbjIxq?w=6000&h=4000); 大家好,新一期的薦書欄目如期跟大家見面了。 先來看看今天的主角是誰:《Python源碼剖析——深度探索動態語言核心技術》,2008年出版...

    simpleapples 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<