В Python нет традиционных операторов инкремента и декремента, таких как ++ или --. Вместо них используются расширенные операторы присваивания, которые объединяют оператор присваивания = с математической операцией, такой как сложение += или вычитание -=.
БЕСПЛАТНО СКАЧАТЬ КНИГИ по Python на русском языке можно у нас в телеграм канале "Python книги на русском"
Например, чтобы увеличить переменную x на 1, можно использовать расширенный оператор присваивания x += 1 вместо традиционного оператора инкремента ++x.
Вот несколько примеров:
a = 10 b = 5 # Инкремент на 10 a += 10 # Декремент на 15 b -= 15 print(a) print(b) # Результат: # 20 # -10
Примечание редакции: о других операторах читайте в статье «Операторы в Python».
Операторы += и -= в Python
Вместо операторов ++ и -- для увеличения/уменьшения значения в Python используются операторы += и -= соответственно. Давайте рассмотрим подробнее, как они работают.
Инкремент значений — оператор +=
В Python расширенный оператор присваивания += прибавляет правый операнд к левому и присваивает результат левому операнду. Например:
x = 5 x += 2 print(x) # Результат: # 7
После выполнения этого кода значение x будет равно 7. Выражение x += 2 эквивалентно записи x = x + 2.
Обратите внимание, что расширенный оператор присваивания можно использовать с различными типами данных в Python, включая числа, строки и списки.
# Добавить число к значению переменной x = 5 x += 2 # Теперь значение x равно 7 # Присоединить строку к значению переменной s = "Hello" s += " World" # Теперь значение s - "Hello World" # Добавить элемент к списку l = [1, 2, 3] l += [4] # Теперь значение l - [1, 2, 3, 4]
Оператор += предоставляет лаконичный и удобный синтаксис для выполнения приращений в одном операторе.
Декремент значений — оператор -=
В Python расширенный оператор присваивания -= вычитает правый операнд из левого операнда и присваивает результат левому операнду. Например:
x = 5 x -= 2 print(x) # Результат: # 3
После выполнения этого кода значение x будет равно 3. Выражение x -= 2 эквивалентно записи x = x - 2.
В отличие от оператора +=, оператор -= нельзя использовать для строк или списков.
Почему в Python нет оператора ++
В Python операторы ++ и -- не существуют, потому что они вообще не считаются операторами.
В Python все операторы, изменяющие пространство имен (т.е. переменные, функции и т.д.), должны быть явно записаны как операторы. Это означает, что если бы ++ и -- были включены в Python, их пришлось бы записывать как отдельные утверждения, а не как операторы. Это сделало бы синтаксис менее лаконичным и даже немного более запутанным.
Одна из основных причин, по которой оператор ++ используется в других языках программирования, таких как C или C++, — это необходимость отслеживать индекс в цикле.
Вместо традиционных операторов инкремента и декремента Python предоставляет инструменты, которые можно использовать для достижения аналогичных результатов. Например, вы можете использовать функцию enumerate() для итерации по списку и получения индекса каждого элемента, что избавляет от необходимости использования операторов ++ или -- в цикле.
Как Python читает ++?
1. x++ в Python выдает синтаксическую ошибку
В Python оператор + является оператором сложения. Его нужно поместить между двумя складываемыми значениями, то есть числами в данном случае. Поскольку второй + не является числом, выполнение x++ приводит к синтаксической ошибке.
2. ++x оценивается как просто x
Оператор префиксного инкремента ++x в Python также не имеет смысла.
Унарный оператор + является оператором тождества и просто возвращает значение, идущее за оператором. Например, +5 — это просто 5, а +100 — это просто 100.
То же самое относится и к нескольким операторам ++. Например, ++5 = +(+5) = +5 = 5.
Заключение
В Python расширенные операторы присваивания += и -= объединяют операции сложения/вычитания и присваивания. Эти операторы обеспечивают удобный синтаксис для операций инкремента и декремента.
Например, выражение x += 2 эквивалентно записи x = x + 2, а выражение x -= 2 эквивалентно записи x = x - 2.
В Python нет операторов инкремента и декремента (++ и --), как в некоторых других языках программирования. Вместо этого эти операции можно выполнить с помощью операторов += и -= соответственно.
Спасибо за прочтение. Успешного кодинга!
Перевод статьи Artturi Jalli «Python Increment Operator (++) and Decrement Operator (–)»
