Python Glossary English

все Python 3operatorфункция

operator.attrgetter

вызов и доступ

Фабрика: возвращает функцию, извлекающую атрибут(ы) по фиксированному имени (поддерживает точечные пути).

Синтаксис

f = operator.attrgetter('attr')

Понимает точечные пути: attrgetter('owner.name') пройдёт по цепочке атрибутов. Как и у itemgetter, несколько имён дают кортеж: attrgetter('last', 'first') — удобный ключ сортировки по двум полям. Если атрибута нет, поднимается AttributeError: значения по умолчанию, как у getattr, не предусмотрено.

Примеры

import operator
g = operator.attrgetter('real')
print(g(3 + 4j))   # → 3.0
print(operator.attrgetter('real')(3 + 4j) == (3 + 4j).real)   # → True
print(operator.attrgetter('real', 'imag')(3 + 4j))   # → (3.0, 4.0)
print(operator.attrgetter('imag.real')(3 + 4j))   # → 4.0
print(sorted([3 + 9j, 1 + 2j], key=operator.attrgetter('imag')))   # → [(1+2j), (3+9j)]

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности