все Python 3operatorфункция
operator.pow()
арифметика
Функция-эквивалент выражения a ** b: возведение в степень, которое удобно передать в map, reduce или functools.partial.
Синтаксис
operator.pow(a, b)
В отличие от встроенной pow(), третьего аргумента-модуля нет: operator.pow(2, 10, 7) — TypeError, а для быстрого a ** b % m нужна pow(a, b, m). Внимание к reduce: reduce(operator.pow, [2, 3, 2]) считает слева, (2 ** 3) ** 2 = 64, а выражение 2 ** 3 ** 2 — справа и даёт 512.
Примеры
import operator
print(list(map(operator.pow, [2, 3], [10, 2]))) # → [1024, 9]
import functools, operator
print(functools.reduce(operator.pow, [2, 3, 2]), 2 ** 3 ** 2) # → 64 512
import operator
try:
operator.pow(2, 10, 7)
except TypeError as e:
print(e) # → pow expected 2 arguments, got 3
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности