使用getattr时若属性不存在且未提供默认值会抛出AttributeError,例如print(getattr(p, "age"))报错;通过提供默认值可避免错误,如print(getattr(p, "age", None))输出None;也可用hasattr先检查属性是否存在,再安全访问。
在 Python 中使用 getattr 获取不存在的属性时,默认行为不会直接报错,而是取决于你如何调用它。如果你不提供默认值且属性不存在,getattr 会抛出 AttributeError。
getattr(object, name[, default]) 接受三个参数:
如果没有提供 default 参数且属性不存在,就会引发 AttributeError。
以下代码会出错:
class Person:
def __init__(self):
self.name = "Alice"
p = Person()
p
rint(getattr(p, "age")) # 抛出 AttributeError: 'Person' object has no attribute 'age'
因为 age 属性不存在,又没有提供默认值,所以 getattr 触发异常。
安全使用 getattr 的方式是提供第三个参数作为默认值:
print(getattr(p, "age", None)) # 输出: None print(getattr(p, "age", 0)) # 输出: 0 print(getattr(p, "age", "未知")) # 输出: 未知
这样即使属性不存在,也不会报错,而是返回你指定的默认值。
你也可以用 hasattr 先判断属性是否存在:
if hasattr(p, "age"):
print(getattr(p, "age"))
else:
print("属性不存在")
这种方法适合需要做复杂处理的场景。
基本上就这些。只要记得给 getattr 提供默认值,就能避免大多数因属性不存在导致的错误。
相关文章:
建站之家VIP精选网站模板与SEO优化教程整合指南
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何在云服务器上快速搭建个人网站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
黑客如何利用漏洞与弱口令入侵网站服务器?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
建站之星CMS五站合一模板配置与SEO优化指南
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
,巨量百应是干嘛的?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
如何撰写建站申请书?关键要点有哪些?
如何生成腾讯云建站专用兑换码?
建站之星代理平台如何选择最佳方案?
如何用搬瓦工VPS快速搭建个人网站?
独立制作一个网站多少钱,建立网站需要花多少钱?
如何快速上传自定义模板至建站之星?
如何用免费手机建站系统零基础打造专业网站?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
建站之星导航如何优化提升用户体验?
如何在宝塔面板创建新站点?
建站之星安装后界面空白如何解决?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
北京企业网站设计制作公司,北京铁路集团官方网站?
如何选择网络建站服务器?高效建站必看指南
图册素材网站设计制作软件,图册的导出方式有几种?
已有域名如何免费搭建网站?
香港服务器租用每月最低只需15元?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
建站主机服务器选购指南:轻量应用与VPS配置解析
如何高效配置IIS服务器搭建网站?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何通过山东自助建站平台快速注册域名?
Python lxml的etree和ElementTree有什么区别
如何选择服务器才能高效搭建专属网站?
如何在IIS管理器中快速创建并配置网站?
建站主机是什么?如何选择适合的建站主机?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
油猴 教程,油猴搜脚本为什么会网页无法显示?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
网站制作的步骤包括,正确网址格式怎么写?
建站主机无法访问?如何排查域名与服务器问题
网站制作说明怎么写,简述网页设计的流程并说明原因?
如何在建站之星网店版论坛获取技术支持?
*请认真填写需求信息,我们会在24小时内与您取得联系。