Назад к вопросам
Junior
203
questionbank
Расскажите об арифметическом операторе ** в Python.
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Оператор ** в Python выполняет операцию возведения в степень. Он вычисляет результат возведения первого операнда в степень, указанную вторым операндом.
# Пример использования оператора **
result = 2 ** 3 # 2 в степени 3
print(result) # Выведет 8
# С плавающей точкой
result_float = 2.5 ** 2
print(result_float) # Выведет 6.25
# С отрицательным показателем
result_negative = 4 ** -1
print(result_negative) # Выведет 0.25
# С комплексными числами (специальное поведение)
result_complex = (1 + 1j) ** 2
print(result_complex) # Выведет 2j
Приоритет оператора ** выше, чем у унарных операторов (- и +) и бинарных арифметических операторов (*, /, %, //, +, -).
Таблица приоритетов (от высшего к низшему, упрощенно):
| Оператор | Описание |
|---|---|
** |
Возведение в степень |
+x, -x |
Унарные операторы |
*, /, %, // |
Умножение, деление и др. |
+, - |
Сложение, вычитание |
** является правоассоциативной операцией, что означает, что выражения с несколькими операторами ** вычисляются справа налево.
# Правоассоциативность оператора **
result_assoc = 2 ** 3 ** 2
# Это эквивалентно 2 ** (3 ** 2), а не (2 ** 3) ** 2
print(result_assoc) # Выведет 512 (т.к. 3 ** 2 = 9, а 2 ** 9 = 512)
В отличие от большинства других бинарных операторов, порядок ассоциативности ** важен при последовательном его использовании.