python中getattr()函数的用法,及三个参数实例详解
getattr()函数描述
getattr()函数是python中的内置函数之一,可以用来查询类实例对象的相关属性的值,不需要定义类时去定义该方法,直接使用即可,共接收三个参数,其中第三个为可选参数,返回值为对象的属性值value。其语法结构如下:
getattr()函数语法结构
该结构来源于python源码中的节选:
getattr(object, name[, default]) -> value;“->”符号指定返回值为属性值value;
参数解析
- object,python类对象,以名称传入;
- name,一个字符串,属性名称;
- default为默认值,但类对象没有“name”的属性的时候,返回该值;
getattr()函数实例代码
>>> class X():
... web = "x1y1z1.com"
...
>>> getattr(X, 'web','谢谢查询,不好意思,没有该属性')
'x1y1z1.com'
>>> getattr(X, 'App','写下查询,不好意思,没有该属性')
'写下查询,不好意思,没有该属性'
>>> getattr(X,'1')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'X' has no attribute '1'
代码解析
如上代码,当default的参数不传入时,getattr查询不到类的相关属性的时候,python会抛出AttributeError,如果设置了default,则会返回该值。