← Все вопросы

Как возвести число в степень и чем ** отличается от pow()?

Задан 2 месяца назад921 просмотров2 ответа
5

Видел и 2 ** 10, и pow(2, 10). Они дают одно и то же? Есть разница, что когда использовать?

2 ответа

9
✓ Принятый ответ — помог автору

Да, для двух аргументов 2 ** 10 и pow(2, 10) дают одно и то же — 1024.

print(2 ** 10)     # 1024
print(pow(2, 10))  # 1024

Разница в удобстве: ** короче и читается прямо в выражении, а у pow есть бонус — третий аргумент для остатка:

print(pow(2, 10, 1000))  # 24 — это (2**10) % 1000, но считается эффективнее

Этот третий параметр пригодится в задачах, где большие степени и надо взять остаток.

3

Ещё ** умеет дробные степени — это способ извлечь корень: 9 ** 0.5 даёт 3.0 (квадратный корень). А math.sqrt(9) делает то же самое, но только корень.

Ваш ответ

Войдите, чтобы ответить на вопрос.