亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

Python通過getattr函數獲取對象的屬性值

瀏覽:5日期:2022-07-08 09:36:42

英文文檔:

getattr(object, name[, default])Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For example, getattr(x, ’foobar’) is equivalent to x.foobar. If the named attribute does not exist, default is returned if provided, otherwise AttributeError is raised.

獲取對象的屬性值

說明:

1. 函數功能是從對象object中獲取名稱為name的屬性,等效與調用object.name。

#定義類Student>>> class Student: def __init__(self,name): self.name = name >>> s = Stduent(’Aim’)>>> getattr(s,’name’) #等效于調用s.name’Aim’>>> s.name’Aim’

2. 函數第三個參數default為可選參數,如果object中含義name屬性,則返回name屬性的值,如果沒有name屬性,則返回default值,如果default未傳入值,則報錯。

#定義類Student>>> class Student: def __init__(self,name): self.name = name>>> getattr(s,’name’) #存在屬性name’Aim’>>> getattr(s,’age’,6) #不存在屬性age,但提供了默認值,返回默認值6>>> getattr(s,’age’) #不存在屬性age,未提供默認值,調用報錯Traceback (most recent call last): File '<pyshell#17>', line 1, in <module> getattr(s,’age’)AttributeError: ’Stduent’ object has no attribute ’age’

與__getattr__的區別:

__getattr__是類的內置方法,當找不到某個屬性時會調用該方法;找到就不會調用.

getattr與類無關.

一個例子:作為data的代理類,可以以這種方式來使用data的屬性.

class DataProxy(...): def __getattr__(self, item): return getattr(self.data, item)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品日产三级在线观看 | 99久久免费国产精品 | 亚洲视频在线一区二区 | 东京一区二区三区高清视频 | 乱人伦中文视频在线 | 色综合亚洲七七久久桃花影院 | 色偷偷在线刺激免费视频 | 久久精品欧美日韩精品 | 国产精品高清一区二区 | 丁香狠狠色婷婷久久综合 | 国产香蕉久久 | 亚洲最新网址 | 香蕉超级碰碰碰97视频蜜芽 | 亚洲欧美一区二区三区在线观看 | 美女网站免费观看视频 | 日本精品久久久久中文字幕 1 | 欧美日韩在线观看免费 | 影院亚洲 | 国产精品福利视频萌白酱 | 国产综合精品久久亚洲 | 大量愉拍情侣在线视频 | 高清色黄毛片一级毛片 | 国产性生活视频 | 美女毛片免费 | 三级视频网站在线观看 | 久草网站在线 | 欧美亚洲一区二区三区 | 国产成人a视频在线观看 | 中文字幕日韩一区二区 | 日本www色视频成人免费网站 | 国产日韩亚洲不卡高清在线观看 | 日本免费一区二区三区视频 | 国产成人精品天堂 | 日韩欧美一区二区三区不卡在线 | 国产碰碰 | 欧美在线三级 | 欧美亚洲国产精品久久高清 | 欧美国产日本精品一区二区三区 | 日韩三级视频在线 | 亚洲图片视频在线 | 99综合视频 |