python内置函数getattr()详解

Python 内置函数 getattr()

1. 概述

getattr() 是 Python 中的一个内置函数,用于获取对象的属性值。它接受三个参数:对象、属性名和默认值。如果对象具有指定的属性,则返回该属性的值;如果对象没有该属性,则返回默认值(如果提供了默认值)或引发 AttributeError 异常。

2. 语法

getattr(object, name[, default])
  • object: 要获取属性的对象。
  • name: 属性的名称。
  • default (可选): 如果属性不存在,返回的默认值。

3. 示例

3.1 获取对象属性
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Alice", 30)

# 获取对象属性
name_value = getattr(person, "name")
age_value = getattr(person, "age")

print(f"Name: {name_value}")
print(f"Age: {age_value}")
3.2 处理不存在的属性
# 尝试获取不存在的属性
city_value = getattr(person, "city", "Unknown")

print(f"City: {city_value}")  # 输出: City: Unknown

4. 注意事项

  • 使用 getattr() 时,确保对象具有指定的属性,否则会引发异常。
  • 如果不提供默认值,且属性不存在,将引发 AttributeError 异常。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值