В 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 (–)”