← Все вопросы
Как возвести число в степень и чем ** отличается от pow()?
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) делает то же самое, но только корень.
Ваш ответ
Войдите, чтобы ответить на вопрос.