Назад к вопросам
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)

В отличие от большинства других бинарных операторов, порядок ассоциативности ** важен при последовательном его использовании.