Python中的属性获取器

5 投票
2 回答
2994 浏览
提问于 2025-04-17 01:59

我模糊记得学过一种内置函数,它的功能和下面这段代码差不多:

f = lambda x: x.attr

我是在胡思乱想,还是说真的有这样的东西存在呢?

2 个回答

3
getattr(obj, 'attr')

这段代码会从obj这个对象中获取attr这个属性,如果这个属性不存在,就会报错AttributeError

getattr(obj, 'attr', None)

不过,你也可以设置一个默认值:如果找不到这个属性,就会返回这个默认值,而不是报错。

11

operator.attrgetter() 是 Python 中的一个函数,用来获取对象的某个属性。简单来说,如果你有一个对象,比如一个人,想要获取这个人的名字,你可以用这个函数来直接拿到名字,而不需要自己去写很多代码去查找。

撰写回答