av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python通過getattr函數(shù)獲取對象的屬性值

瀏覽:2日期: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. 函數(shù)功能是從對象object中獲取名稱為name的屬性,等效與調(diào)用object.name。

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

2. 函數(shù)第三個參數(shù)default為可選參數(shù),如果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,但提供了默認(rèn)值,返回默認(rèn)值6>>> getattr(s,’age’) #不存在屬性age,未提供默認(rèn)值,調(diào)用報錯Traceback (most recent call last): File '<pyshell#17>', line 1, in <module> getattr(s,’age’)AttributeError: ’Stduent’ object has no attribute ’age’

與__getattr__的區(qū)別:

__getattr__是類的內(nèi)置方法,當(dāng)找不到某個屬性時會調(diào)用該方法;找到就不會調(diào)用.

getattr與類無關(guān).

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 91看片在线观看 | av天天操| 国产视频一区二区在线 | 日韩国产精品视频 | 综合一区二区三区 | 免费欧美视频 | 亚洲亚洲人成综合网络 | 国产欧美一区二区精品性色超碰 | 国产三区四区 | 91亚洲成人| 神马午夜嘿嘿 | 国产午夜影院 | 欧美三级又粗又硬 | 国产成人精品亚洲男人的天堂 | 天天干天天色天天射 | 91精品国产99久久久久久红楼 | 天天射影院 | 国产中文字幕视频 | 中文字幕国产视频 | 国产在线高清 | 日本男人的天堂 | 国产高清免费 | 婷婷99| 日日夜夜综合 | 中文字幕一二三四区 | 中文在线字幕免费观 | 欧美一级片在线 | 精品一区av | 国产精自产拍久久久久久蜜 | 日韩在线不卡视频 | 触手繁殖の地狱3d啪啪 | 久久久精品影院 | 亚洲黄色在线视频 | 懂色av一区二区夜夜嗨 | 日韩一区中文字幕 | av在线播放不卡 | av一区二区三区 | 欧美国产日韩一区二区 | 日本黄色免费看 | 亚洲激情一区 | 人人爽人人爽人人片av |