国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:4日期: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 編程
相關文章:
主站蜘蛛池模板: 乌拉特前旗| 进贤县| 边坝县| 阜城县| 巴东县| 永福县| 衡东县| 剑阁县| 保亭| 霍林郭勒市| 山阴县| 闸北区| 喀喇沁旗| 迭部县| 涞源县| 丹凤县| 琼海市| 武陟县| 武山县| 汝州市| 西畴县| 崇信县| 山西省| 五常市| 荆州市| 衡水市| 浙江省| 社旗县| 万州区| 轮台县| 清涧县| 柞水县| 沅江市| 区。| 华宁县| 德庆县| 商南县| 遂溪县| 巴楚县| 上杭县| 崇信县|