Python Glossary English

все 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Сообщить о неточности