编辑这个页面须要登录或更高权限!

Python getattr() 使用方法及示例

Python 内置函数

getattr()方法返回对象的命名属性的值。如果找不到,它将返回提供给该函数的默认值。

getattr()方法的语法为:

getattr(object, name[, default])

上面的语法等效于:

object.name

getattr()参数

getattr()方法采用多个参数:

  • object -要返回其命名属性值的对象

  • name -包含属性名称的字符串

  • default(可选) -找不到命名属性时返回的值

getattr()返回值

getattr()方法返回:

  • 给定对象的命名属性的值

  • default,如果找不到命名属性

  • AttributeError异常,如果未找到已命名的属性且未定义默认值

示例1:getattr()如何在Python中工作?

class Person:
    age = 23
    name = "Adam"

person = Person()
print('年龄是:', getattr(person, "age"))
print('年龄是:', person.age)

运行该程序时,输出为:

年龄是: 23
年龄是: 23

示例2:找不到命名属性时的getattr()

class Person:
    age = 23
    name = "Adam"

person = Person()

# 当提供默认值时
print('性别是:', getattr(person, 'sex', 'Male'))

# 当没有提供默认值时
print('性别是:', getattr(person, 'sex'))

运行该程序时,输出为:

性别是: Male
AttributeError: 'Person' object has no attribute 'sex'

已命名的属性sex不存在于Person类中。因此,当使用默认值Male调用getattr()方法时,它将返回Male。

但是,如果我们不提供任何默认值,则在找不到命名属性sex时,会抛出一个AttributeError说法,即该对象没有sex属性。

Python 内置函数

Python 基础教程
Python 流程控制
Python 函数
Python 数据类型
Python 文件操作
Python 对象和类
Python 日期和时间
Python 高级知识
Python 参考手册