pow(base, exp, mod)
base
- возводимое число,exp
- число, являющееся степенью,mod
- необязательно, число, на которое требуется произвести деление по модулю.Функция pow()
возвращает результат возведения числа base
в степень exp
, с опциональным делением по модулю mod
. pow(base, exp)
эквивалентно использованию оператора возведения в степень: base ** exp
.
Передаваемые аргументы должны иметь числовые типы. Со смешанными типами операндов применяются правила приведения для двоичных арифметических операторов.
Для int
аргументов, результат имеет тот же тип, если только второй аргумент не является отрицательным.
Если число mod
указано и степень exp
отрицательна, то основание base
должно быть относительно простой к mod
. В этом случае, возвращается pow(inv_base, -exp, mod)
, где inv_base
является обратным к модулю mod
.
>>> pow(38, -1, mod=97) 23 >>> 23 * 38 % 97 == 1 True
Если число mod
указано, ожидается, что base
и exp
положительны и имеют тип int.
Изменено в Python 3.8: Для int
параметров форма с тремя аргументами pow()
теперь позволяет второму аргументу быть отрицательным, разрешая вычисление модульных инверсий.
Изменено в версии 3.9: Разрешены ключевые аргументы. Раньше поддерживались только позиционные аргументы.
>>> pow(3, 2) 9 >>> pow(10, 3) 1000 >>> pow(5, -3) 0.008 >>> pow(1.5, 3) 3.375 >>> pow(1.5, 3.5) 4.133513940946613 >>> pow(3, 3.5) 46.76537180435969 >>> pow(5, 3, 4) 1 >>> pow(5, 3, -2) -1