news 2026/6/23 20:26:27

hasattr()函数和getattr()函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hasattr()函数和getattr()函数

hasattr()函数

hasattr()是 Python 的内置函数,用于检查对象是否具有指定名称的属性(或方法)。

语法:
hasattr(object, name)

参数:

  • object:要检查的对象。
  • name:字符串,表示要检查的属性名。

返回值:

  • 如果对象有该属性,返回 True。
  • 如果对象没有该属性,返回 False。

用法示例:

# 检查属性classPerson:def__init__(self):self.name="张三"self.age=25person=Person()print(hasattr(person,"name"))# Trueprint(hasattr(person,"age"))# Trueprint(hasattr(person,"salary"))# False# 检查方法print(hasattr(person,"__init__"))# True

getattr()函数

getattr()是 Python 内置函数,用于动态获取对象的属性(或方法)值。如果属性不存在,可以返回默认值或引发异常。

语法:
getattr(object, name[, default])

参数:

  • object:要获取属性的对象。
  • name:字符串,属性名。
  • default(可选):如果属性不存在,则返回此默认值。如果没有提供默认值,并且属性不存在,则引发AttributeError。

返回值:
属性值,或默认值(如果指定),或引发 AttributeError(如果没指定默认值)。

用法示例:

classPerson:def__init__(self):self.name="张三"self.age=25person=Person()# 获取存在的属性print(getattr(person,"name"))# 张三print(getattr(person,"age"))# 25# 属性不存在 - 使用默认值print(getattr(person,"salary",5000))# 5000# 属性不存在 - 不提供默认值(报错)# print(getattr(person, "salary")) # AttributeError
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:58:58

Windows系统清理优化神器!支持Win10/11磁盘空间注册表清理,开机自启动项管理、程序应用安装更新卸载,电脑性能优化设置增强!

下载:https://tool.nineya.com/s/1jbp5vf11 这可不是普通的清理软件,而是集清理、优化、加速于一体的全能型选手,能帮你把电脑收拾得明明白白,运行速度直接起飞! 首先说说它的 “清理能力”。这软件能彻底卸载那些你不…

作者头像 李华
网站建设 2026/6/23 18:58:59

EmotiVoice语音合成日志记录规范:便于调试与审计

EmotiVoice语音合成日志记录规范:便于调试与审计 在当前AI驱动的语音交互场景中,用户早已不再满足于“能说话”的机器声音。从智能客服到虚拟主播,从有声读物到游戏NPC,人们期待的是富有情感、自然流畅、甚至具备个性辨识度的语音…

作者头像 李华
网站建设 2026/6/23 18:57:29

EmotiVoice语音合成多区域部署架构设计

EmotiVoice语音合成多区域部署架构设计 在今天的智能服务生态中,用户对语音交互的期待早已超越“能听清”这一基本要求。无论是虚拟偶像的一句带笑哽咽,还是客服机器人在安抚客户时流露出的温和语调,背后都离不开高表现力语音合成技术的进步。…

作者头像 李华
网站建设 2026/6/23 18:54:10

不常用但超实用!QSpinBox 九大隐藏技巧

今天和大家分享一些 Qt 中 QSpinBox 控件的高级功能。这些功能不仅能让你的应用界面更加灵活,还能提升用户体验,尤其是在处理数值输入和界面交互时。虽然 QSpinBox 是一个常见的控件,大家经常用它来处理整数的输入,但它其实还有很…

作者头像 李华
网站建设 2026/6/23 18:57:29

C++基础知识点——5个重要位运算技巧(通俗易懂版)

前言:“1在内存中不是孤零零的1,而是前面有很多0的二进制串,具体多少个0由变量类型决定——int有31个0,long long有63个0。1的二进制:00000000,00000000,00000000,00000001”5个位运…

作者头像 李华