getattr()用于动态获取对象属性,若属性不存在可返回默认值而不报错。例如getattr(p, ‘name’)返回”Alice”,getattr(p, ‘gender’, ‘未知’)返回”未知”,常用于反射和通用函数编写。

在 Python 中,getattr() 是一个内置函数,用来获取对象的某个属性值。如果该属性存在,就返回它的值;如果不存在,可以提供一个默认值,避免程序报错。
基本语法
getattr(object, name[, default])
object:目标对象name:属性名,字符串形式default(可选):如果属性不存在时返回的默认值。不提供且属性不存在时会抛出 AttributeError
实际用法示例
假设有一个简单的类:
class Person:
def __init__(self):
self.name = “Alice”
self.age = 25
使用 getattr() 获取属性:
立即学习“Python免费学习笔记(深入)”;
p = Person()
print(getattr(p, ‘name’)) # 输出: Alice
print(getattr(p, ‘age’)) # 输出: 25
print(getattr(p, ‘gender’, ‘未知’)) # 属性不存在,返回默认值“未知”
为什么使用 getattr()?
它特别适合在你不确定对象是否有某个属性时动态访问。比如处理配置对象、解析数据结构或编写通用函数时非常有用。
避免因属性缺失导致程序中断实现更灵活的对象操作,如根据字符串动态读取属性常用于反射(reflection)编程场景
基本上就这些。getattr() 看似简单,但在写通用代码时很实用。
以上就是python中getattr()是什么?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382257.html
微信扫一扫
支付宝扫一扫