Python中的属性获取器
我模糊记得学过一种内置函数,它的功能和下面这段代码差不多:
f = lambda x: x.attr
我是在胡思乱想,还是说真的有这样的东西存在呢?
2 个回答
3
getattr(obj, 'attr')
这段代码会从obj
这个对象中获取attr
这个属性,如果这个属性不存在,就会报错AttributeError
。
getattr(obj, 'attr', None)
不过,你也可以设置一个默认值:如果找不到这个属性,就会返回这个默认值,而不是报错。
11
operator.attrgetter()
是 Python 中的一个函数,用来获取对象的某个属性。简单来说,如果你有一个对象,比如一个人,想要获取这个人的名字,你可以用这个函数来直接拿到名字,而不需要自己去写很多代码去查找。