Python Glossary English

Python 3.11+operatorфункция

operator.call

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

Вызывает объект с аргументами: call(f, *args, **kwargs) == f(*args, **kwargs) (Python 3.11+).

Синтаксис

operator.call(f, *args, **kwargs)

Позволяет вызвать набор функций одной строкой: list(map(operator.call, callbacks)) выполнит каждую без аргументов. С аргументами удобна вместе с itertools.starmap. Появилась в Python 3.11; на более ранних версиях то же даёт лямбда lambda f, *a: f(*a). Порядок важен: первым идёт сам вызываемый объект.

Примеры

import operator
print(operator.call(abs, -5))   # → 5
print(operator.call(abs, -5) == abs(-5))   # → True
print(operator.call(round, 3.14159, ndigits=2))   # → 3.14
print([operator.call(f) for f in (list, dict, tuple)])   # → [[], {}, ()]
print(operator.call(5))   # → TypeError

См. также

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

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