hasattr
hasattr(object, name) -> bool
- object:任何 Python 对象
- name:属性名,必须是字符串
- 返回 True / False
为什么使用它?
直接点号访问 obj.xxx 时,如果 xxx 不存在会立刻抛异常;
hasattr 先内部捕获异常,再给你布尔结果,代码更健壮。
class A:
x = 1
a = A()
print(hasattr(a, 'x')) # True
print(hasattr(a, 'y')) # False
print(hasattr(len, '__call__')) # True,函数对象都有 __call__