当前位置: 代码迷 >> 综合 >> Python内置函数——getattr
  详细解决方案

Python内置函数——getattr

热度:45   发布时间:2023-12-12 00:51:56.0

getattr(object, name[, default])

1. 函数功能是从对象object中获取名称为name的属性,等效与调用object.name。

#定义类Student
>>> class Student:def __init__(self,name):self.name = name>>> s = Stduent('Aim')
>>> getattr(s,'name') #等效于调用s.name
'Aim'
>>> s.name
'Aim'

2. 函数第三个参数default为可选参数,如果object中含义name属性,则返回name属性的值,如果没有name属性,则返回default值,如果default未传入值,则报错。

#定义类Student
>>> class Student:def __init__(self,name):self.name = name>>> getattr(s,'name') #存在属性name
'Aim'>>> getattr(s,'age',6) #不存在属性age,但提供了默认值,返回默认值
6>>> getattr(s,'age') #不存在属性age,未提供默认值,调用报错
Traceback (most recent call last):File "<pyshell#17>", line 1, in <module>getattr(s,'age')
AttributeError: 'Stduent' object has no attribute 'age'