Python 3 内置函数 - getattr()
函数
0. getattr()
函数
返回对象的属性值。
1. 使用方法
>>> help(getattr)
# output:
Help on built-in function getattr in module builtins:
getattr(...)
## 使用方法
getattr(object, name[, default]) -> value
Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y.
When a default argument is given, it is returned when the attribute doesn't
exist; without it, an exception is raised in that case.
2. 使用示例
>>> class say_anything():
>>> def __init__(self):
>>> self.anything = "hello world."
>>>
>>> def say_print(self):
>>> print(self.anything)
示例1.
>>> a = say_anything() # 创建实列
>>> getattr(a, 'anything') #获取属性值
# output:
'hello world.'
示例2. (属性值不存在)
>>> a = say_anything() # 创建实列
>>> getattr(a, 'say') #获取属性值
# output:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/tmp/ipykernel_21846/4188064638.py in <module>
1 # 获取属性值(属性值不存在)
----> 2 getattr(a, 'say')
AttributeError: 'say_anything' object has no attribute 'say'
示例3. (属性值不存在时,返回指定值。)
>>> a = say_anything() # 创建实列
>>> getattr(a, 'say', '-1') #获取属性值,不存在时返回指定值 -1.
# output:
'-1'