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

資訊專(zhuān)欄INFORMATION COLUMN

python中的特性管理模式詳細(xì)說(shuō)明

89542767 / 739人閱讀

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


  一、私有屬性


  Python并沒(méi)真正意義上的民營(yíng)化適用,但可以用下橫線(xiàn)獲得偽私,其中一項(xiàng)大部分Python編碼都遵照的好習(xí)慣:含有下橫線(xiàn),作為前綴的名字應(yīng)被稱(chēng)作非公開(kāi)的API中的一部分(不論是函數(shù)公式、方式或是數(shù)據(jù)成員)


  python中私并無(wú)法實(shí)現(xiàn)真正意義上的私,只不過(guò)是在儲(chǔ)存屬性情況下改了一個(gè)名稱(chēng),在外部不能直接方式


  私有屬性主要表現(xiàn)為:


  _參數(shù)名:聲明式私有屬性


  __參數(shù)名:_類(lèi)名+私有屬性名


  classAttributes:
  attr=100
  #聲明式私有屬性
  _attr2=999
  #_類(lèi)名+私有屬性名
  __attr3=888
  print(Attributes.attr)
  print(Attributes._attr2)


  雙下劃線(xiàn)的私有屬性,去啟用時(shí),并沒(méi)__attr3這一屬性名,用dict特性,去查詢(xún)特性詞典看看:

01.png

  能夠看見(jiàn)是雙下劃線(xiàn)的私有屬性是:_類(lèi)名+私有屬性名


  二、特性局限-__slots__方式


  界定過(guò)slots屬性來(lái)局限類(lèi)案例的特性,只有關(guān)聯(lián)slots特定的特性,不可以加上slots以外的特性


  加上slots以外的特性,就會(huì)直接出錯(cuò)


  classDemo:


  應(yīng)用__slots__給目標(biāo)做特性局限,只有加上特定特性name,age


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


  執(zhí)行結(jié)果:


  出錯(cuò):AttributeError:‘Demo’objecthasnoattribute‘sex’目標(biāo)Demo并沒(méi)有‘sex’這一特性

02.png

  三、python中怎樣去聲明變量


  詞法:主要參數(shù),屬性種類(lèi)


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


  python中能夠聲明變量或參數(shù)種類(lèi),但實(shí)際上執(zhí)行命令一般不會(huì)去校檢種類(lèi)


  a:int="python"#設(shè)定的為int種類(lèi),可是傳值為字符串類(lèi)型
  b:str=11#設(shè)定的為字符串類(lèi)型,可是傳值為int種類(lèi)
  c:list={11,22,33}#設(shè)定的為列表,可是傳值為詞典
  print(a,b,c)#==========》依然可以實(shí)行打印出來(lái)
  #函數(shù)參數(shù)的類(lèi)型聲明:
  defwork(name:str,age:int):#設(shè)定的為字符串類(lèi)型和int種類(lèi)
  print('name的數(shù)值',name)
  print('age的數(shù)值',age)
  #實(shí)際傳參一個(gè)列表,一個(gè)詞典
  work([11,22,33],{'a':1,'b':2})


  執(zhí)行結(jié)果:

03.png

  四、python中的有關(guān)特性


  __getattr__方式:


  使用方法:獲得特性,特性不會(huì)有時(shí)開(kāi)啟的辦法


  獨(dú)特步驟:當(dāng)去獲得特性時(shí),先實(shí)行__getattribute__去看是否有特性,有就回到,假如沒(méi)有的話(huà)去行動(dòng)__getattr__方式,回到特性不會(huì)有


  getattribute(self,item):


  使用方法:特性瀏覽開(kāi)啟的魔術(shù)師方式,搜索特性時(shí),首位時(shí)間能啟用此方法


  setattr(self,key,value):
  使用方法:設(shè)定屬性方式,設(shè)定特性時(shí),啟用此方法設(shè)定特性
  __delattr__方式:
  使用方法:在del刪除特性時(shí)開(kāi)啟,刪除屬性方式
  classMyDemo(object):
  def__getattribute__(self,item):
  """
  特性瀏覽開(kāi)啟的魔術(shù)師方式
  :paramitem:獲取的屬性名
  :return:獲取到的屬性值
  """
  print("您要獲得的特性為:",item)
  value=super().__getattribute__(item)#繼承父類(lèi)
  returnvalue
  def__setattr__(self,key,value):
  """
  設(shè)定屬性方式
  :paramkey:屬性名
  :paramvalue:屬性值
  :return:
  """
  print("您要設(shè)定的屬性名{},屬性值為:{}".format(key,value))
  super().__setattr__(key,value)
  def__delattr__(self,item):
  """
  刪除屬性方式
  :paramitem:屬性名
  :return:
  """
  print("您要?jiǎng)h除的特性為:",item)
  super().__delattr__(item)
  def__getattr__(self,item):
  """
  獲得特性,特性不會(huì)有時(shí)開(kāi)啟的辦法
  :paramitem:
  :return:
  """
  print("獲得的特性{},不會(huì)有".format(item))
  return99
  m=MyDemo()
  print("*************************特性設(shè)定******************************")
  #特性設(shè)定
  #設(shè)定特性方式一:
  m.aa=999
  m.name='musen'
  #設(shè)定特性方式二:setattr方式:
  setattr(MyDemo(),'age',18)
  print("************************獲得特性*******************************")
  #獲得特性
  #方式一:
  print(m.aa)
  print(m.name)
  #方式二:getattr方式
  print(getattr(m,'name'))
  print("************************刪除特性********************************")
  #刪除特性
  #方式一:
  delm.aa
  #方式二:delattr方式
  delattr(m,'age')


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/130282.html

相關(guān)文章

  • 可能是最詳細(xì)的部署:Docker Registry企業(yè)級(jí)私有鏡像倉(cāng)庫(kù)Harbor管理WEB UI

    摘要:私有倉(cāng)庫(kù)是,并在中運(yùn)行。不要使用或?yàn)橹鳈C(jī)名注冊(cè)表服務(wù)需要由外部客戶(hù)端訪(fǎng)問(wèn)或,默認(rèn)為用于訪(fǎng)問(wèn)和令牌通知服務(wù)的協(xié)議。打開(kāi)或關(guān)閉,默認(rèn)打開(kāi)打開(kāi)此屬性時(shí),準(zhǔn)備腳本創(chuàng)建私鑰和根證書(shū),用于生成驗(yàn)證注冊(cè)表令牌。 上一篇文章搭建了一個(gè)具有基礎(chǔ)功能,權(quán)限認(rèn)證、TLS 的私有倉(cāng)庫(kù),但是Docker Registry 作為鏡像倉(cāng)庫(kù),連管理界面都沒(méi)有,甚至連一些運(yùn)維必備的功能都是缺失的,還有什么 Docker...

    沈儉 評(píng)論0 收藏0
  • API例子:用Python驅(qū)動(dòng)Firefox采集網(wǎng)頁(yè)數(shù)據(jù)

    摘要:開(kāi)源即時(shí)網(wǎng)絡(luò)爬蟲(chóng)項(xiàng)目將與基于的異步網(wǎng)絡(luò)框架集成,所以本例將使用采集淘寶這種含有大量代碼的網(wǎng)頁(yè)數(shù)據(jù),但是要注意本例一個(gè)嚴(yán)重缺陷用加載網(wǎng)頁(yè)的過(guò)程發(fā)生在中,破壞了的架構(gòu)原則。 showImg(https://segmentfault.com/img/bVyzAX); 1,引言 本文講解怎樣用Python驅(qū)動(dòng)Firefox瀏覽器寫(xiě)一個(gè)簡(jiǎn)易的網(wǎng)頁(yè)數(shù)據(jù)采集器。開(kāi)源Python即時(shí)網(wǎng)絡(luò)爬蟲(chóng)項(xiàng)目將與S...

    Harriet666 評(píng)論0 收藏0
  • Python貓薦書(shū)系統(tǒng)之四:《Python源碼剖析》

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

    simpleapples 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<