python 与属性相关的4个内置函数
1. hasattr() – 判断对象obj是否有属性attr_name
格式: hasattr(obj, attr_name)
- 传入参数:
- obj – 对象
- attr_name – 字符串, 属性名
- 返回:
- True
- False
2. getattr() – 获取对象obj的属性attr_name 值, 支持默认值
格式: getattr(obj, attr_name, [default])
- 传入参数:
- object – 对象
- attr_name – 字符串, 对象属性名
- default – 默认返回值, 如果不提供, 在没有对应属性的时候将 触发
AttributeError 异常
- 返回值:
- 对象属性值
3. setattr() – 用于给对象设置(添加或修改)属性值 , (该属性可以不存在)
格式: setattr(obj, attr_name, value)
- 传入参数
- obj – 对象
- attr_name – 字符串, 对象属性名
- value – 给attr_name属性所赋的值
- 返回值:
- None
4. delattr() – 用于删除属性
格式: delattr(obj, attr_name)
等价于 del obj.attr_name
- 传入参数:
- object – 对象
- attr_name – 字符串, 对象属性名
- 返回值:
- None
- 注意:
- 如果删除的属性不存在, 触发 AttributeError异常