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

詳解Python3 中hasattr()、getattr()、setattr()、delattr()函數(shù)及示例代碼數(shù)

 更新時間:2018年04月18日 09:31:59   作者:1024python  
本文通過示例代碼給大家詳細介紹了Python3 中hasattr()、getattr()、setattr()、delattr()函數(shù),非常不錯,具有參考借鑒價值,需要的朋友參考下吧

hasattr()函數(shù)

hasattr()函數(shù)用于判斷是否包含對應的屬性

語法:

hasattr(object,name)

參數(shù):

object--對象

name--字符串,屬性名

返回值:

如果對象有該屬性返回True,否則返回False

示例:

class People:
  country='China'
  def __init__(self,name):
    self.name=name
  def people_info(self):
    print('%s is xxx' %(self.name))
obj=People('aaa')
print(hasattr(People,'country'))
#返回值:True
print('country' in People.__dict__)
#返回值:True
print(hasattr(obj,'people_info'))
#返回值:True
print(People.__dict__)
##{'__module__': '__main__', 'country': 'China', '__init__': <function People.__init__ at 0x1006d5620>, 'people_info': <function People.people_info at 0x10205d1e0>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None}

getattr()函數(shù)

描述:

getattr()函數(shù)用于返回一個對象屬性值

語法:

getattr(object,name,default)

參數(shù):

object--對象

name--字符串,對象屬性

default--默認返回值,如果不提供該參數(shù),在沒有對于屬性時,將觸發(fā)AttributeError。

返回值:

返回對象屬性值

class People:
  country='China'
  def __init__(self,name):
    self.name=name

  def people_info(self):
    print('%s is xxx' %(self.name))
obj=getattr(People,'country')
print(obj)
#返回值China
#obj=getattr(People,'countryaaaaaa')
#print(obj)
#報錯
# File "/getattr()函數(shù).py", line 32, in <module>
#   obj=getattr(People,'countryaaaaaa')
# AttributeError: type object 'People' has no attribute 'countryaaaaaa'
obj=getattr(People,'countryaaaaaa',None)
print(obj)
#返回值None

setattr()函數(shù)

描述:

setattr函數(shù),用于設置屬性值,該屬性必須存在

語法:

setattr(object,name,value)

參數(shù):

object--對象

name--字符串,對象屬性

value--屬性值

返回值:

class People:
  country='China'
  def __init__(self,name):
    self.name=name
  def people_info(self):
    print('%s is xxx' %(self.name))
obj=People('aaa')
setattr(People,'x',111) #等同于People.x=111
print(People.x)
#obj.age=18
setattr(obj,'age',18)
print(obj.__dict__)
#{'name': 'aaa', 'age': 18}
print(People.__dict__)
#{'__module__': '__main__', 'country': 'China', '__init__': <function People.__init__ at 0x1007d5620>, 'people_info': <function People.people_info at 0x10215d1e0>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None, 'x': 111}

delattr()函數(shù)

描述:

delattr函數(shù)用于刪除屬性

delattr(x,'foobar)相當于del x.foobar

語法:

setattr(object,name)

參數(shù):

object--對象

name--必須是對象的屬性

返回值:

示例:

class People:
  country='China'
  def __init__(self,name):
    self.name=name
  def people_info(self):
    print('%s is xxx' %(self.name))
delattr(People,'country') #等同于del People.country
print(People.__dict__)
{'__module__': '__main__', '__init__': <function People.__init__ at 0x1006d5620>, 'people_info': <function People.people_info at 0x10073d1e0>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None}

補充示例:

class Foo:
  def run(self):
    while True:
      cmd=input('cmd>>: ').strip()
      if hasattr(self,cmd):
        func=getattr(self,cmd)
        func()
  def download(self):
    print('download....')
  def upload(self):
    print('upload...')
# obj=Foo()
# obj.run()

總結

以上所述是小編給大家介紹的詳解Python3 中hasattr()、getattr()、setattr()、delattr()函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • tensorflow: variable的值與variable.read_value()的值區(qū)別詳解

    tensorflow: variable的值與variable.read_value()的值區(qū)別詳解

    今天小編就為大家分享一篇tensorflow: variable的值與variable.read_value()的值區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 如何使用python記錄室友的抖音在線時間

    如何使用python記錄室友的抖音在線時間

    這篇文章主要介紹了如何使用python記錄室友的抖音在線時間,本文通過實例代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 詳解【python】str與json類型轉換

    詳解【python】str與json類型轉換

    這篇文章主要介紹了【python】str與json類型轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Pycharm 如何設置HTML文件自動補全代碼或標簽

    Pycharm 如何設置HTML文件自動補全代碼或標簽

    這篇文章主要介紹了Pycharm 如何設置HTML文件自動補全代碼或標簽,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python實戰(zhàn)小游戲飛機大戰(zhàn)詳解

    Python實戰(zhàn)小游戲飛機大戰(zhàn)詳解

    飛機大戰(zhàn)想必是很多人童年時期的經(jīng)典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關于如何利用python寫一個簡單的飛機大戰(zhàn)小游戲的相關資料,需要的朋友可以參考下
    2021-11-11
  • 跟老齊學Python之從if開始語句的征程

    跟老齊學Python之從if開始語句的征程

    前面做了很多鋪墊了,真正的編程我們還沒有講過,各位童鞋也許早就不耐煩了,好吧,今天我們就從if語句來踏上我們的征程
    2014-09-09
  • django中只使用ModleForm的表單驗證

    django中只使用ModleForm的表單驗證

    這篇文章主要介紹了django中只使用ModleForm的表單驗證的相關資料,需要的朋友可以參考下
    2022-12-12
  • 簡單談談python中的語句和語法

    簡單談談python中的語句和語法

    下面小編就為大家?guī)硪黄唵握務刾ython中的語句和語法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • python中如何使用insert函數(shù)

    python中如何使用insert函數(shù)

    這篇文章主要介紹了python中如何使用insert函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python判斷變量名是否合法的方法示例

    Python判斷變量名是否合法的方法示例

    今天小編就為大家分享一篇關于Python判斷變量名是否合法的方法示例,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論