Загружаем изображение…
Знаете, что можно передавать вызов методов как функцию — без лямбд?
Обычно для таких задач пишут lambda, что добавляет лишний синтаксис:
list(map(lambda x: x.upper(), users))operator.methodcaller создаёт callable, который вызывает указанный метод у каждого элемента:methodcaller("upper")Это удобно, когда нужно передать вызов метода в map, sorted или другие pipeline-API:
sorted(users, key=methodcaller("lower"))Можно передавать аргументы метода и код остаётся декларативным:
methodcaller("replace", "a", "x")methodcaller — полезный инструмент, когда нужен callable для вызова метода. Не замена всем lambda, но в таких местах код может стать чище и короче.Python Ready | #совет