Python - Арифметические операторы
Добро пожаловать, стремящиеся программисты! Сегодня мы погружаемся в мир арифметических операторов Python. Не волнуйтесь, если вы никогда не писали ни одной строки кода - мы начнем с самого начала и постепенно будем развиваться. К концу этого урока вы будете выполнять вычисления на уровне профессионала!
Арифметические операторы Python
Арифметические операторы в Python похожи на базовые математические операции, которые вы изучали в школе, но теперь они стали вашими инструментами для выполнения вычислений на компьютерах. Начнем с самых простых:
Сложение (+)
Оператор сложения представлен знаком плюс (+). Он работает именно так, как вы ожидаете:
result = 5 + 3
print(result) # Вывод: 8
В этом примере мы складываем 5 и 3, и сохраняем результат в переменной с именем result
. Затем мы выводим его. Просто, правда?
Вычитание (-)
Вычитание работает аналогично, используя знак минус (-):
result = 10 - 4
print(result) # Вывод: 6
Здесь мы вычитаем 4 из 10. Проще простого!
Умножение (*)
Для умножения мы используем звездочку (*):
result = 6 * 7
print(result) # Вывод: 42
В этом случае мы умножаем 6 на 7. И да, ответ на вопрос о жизни, вселенной и всем остальном действительно равен 42!
Деление (/)
Деление использует слеш (/):
result = 20 / 5
print(result) # Вывод: 4.0
Заметьте, что результат равен 4.0, а не просто 4. В Python 3 деление с / всегда возвращает число с плавающей запятой (десятичное).
Полное деление (//)
Иногда вы хотите разделить и избавиться от десятичной части. Вот тут на помощь приходит полное деление:
result = 17 // 5
print(result) # Вывод: 3
17 делить на 5 дает 3 с остатком 2. Полное деление дает нам только 3.
Остаток от деления (%)
Говоря о остатках, оператор остатка дает нам именно это:
result = 17 % 5
print(result) # Вывод: 2
Это дает нам остаток от деления 17 на 5, что равно 2.
Возведение в степень (**)
И наконец, у нас есть возведение в степень, представленное двумя звездочками:
result = 2 ** 3
print(result) # Вывод: 8
Это вычисляет 2 в степени 3, что равно 8.
Различные арифметические операторы в Python
Подведем итог всем этим операторам в удобной таблице:
Оператор | Название | Пример |
---|---|---|
+ | Сложение | 5 + 3 = 8 |
- | Вычитание | 10 - 4 = 6 |
* | Умножение | 6 * 7 = 42 |
/ | Деление | 20 / 5 = 4.0 |
// | Полное деление | 17 // 5 = 3 |
% | Остаток от деления | 17 % 5 = 2 |
** | Возведение в степень | 2 ** 3 = 8 |
Приоритет и ассоциативность арифметических операторов Python
А теперь, что происходит, когда мы используем несколько операторов в одном выражении? Вот тут в игру вступают приоритет и ассоциативность.
Приоритет операторов
Приоритет операторов определяет порядок, в котором выполняются операции. Это похоже на порядок операций, который вы изучали в математике (помните PEMDAS?). В Python приоритет от высокого к низкому:
- ** (Возведение в степень)
- *, /, //, % (Умножение, Деление, Полное деление, Остаток от деления)
- +, - (Сложение, Вычитание)
Посмотрим на пример:
result = 2 + 3 * 4
print(result) # Вывод: 14
Здесь сначала выполняется умножение (3 * 4), а затем сложение (2 + 12).
Если мы хотим изменить порядок, можем использовать скобки:
result = (2 + 3) * 4
print(result) # Вывод: 20
Теперь сначала выполняется сложение, а затем умножение.
Ассоциативность
Ассоциативность вступает в игру, когда у вас есть несколько операторов с одинаковым приоритетом. В Python большинство операторов являются левыми ассоциативными, что означает, что они вычисляются слева направо.
result = 20 - 5 - 3
print(result) # Вывод: 12
Это вычисляется как (20 - 5) - 3, а не 20 - (5 - 3).
Исключением является оператор возведения в степень (**), который является правым ассоциативным:
result = 2 ** 3 ** 2
print(result) # Вывод: 512
Это вычисляется как 2 (3 2), а не (2 3) 2.
Арифметика комплексных чисел
Python также поддерживает комплексные числа, которые являются числами с вещественной и мнимой частью. Они записываются с 'j' или 'J' для обозначения мнимой части:
z1 = 2 + 3j
z2 = 1 - 1j
# Сложение
result = z1 + z2
print(result) # Вывод: (3+2j)
# Вычитание
result = z1 - z2
print(result) # Вывод: (1+4j)
# Умножение
result = z1 * z2
print(result) # Вывод: (5+1j)
# Деление
result = z1 / z2
print(result) # Вывод: (0.5+2j)
Комплексные числа следуют тем же арифметическим правилам, что и вещественные числа, с добавлением правила, что i^2 = -1 (где i - это мнимая единица, представленная j в Python).
И вот и все! Вы только что сделали первые шаги в мир арифметики Python. Помните, программа написана как новый язык - это требует практики. Так что не бойтесь экспериментировать с этими операторами, попробуйте различные комбинации и посмотрите, что получится. Счастливого кодирования!
Credits: Image by storyset