← Все вопросы
Что значит a += 1 в Python и есть ли тут ++ как в C?
17
Видел в чужом коде a += 1, s += '!'. Это то же самое, что a = a + 1? И почему не работает a++, ведь в C/Java так пишут?
3 ответа
26
a += 1 — это сокращение для a = a + 1, такие штуки называются составными операторами присваивания (есть -=, *=, /=, //=, %=, **= и т.д.).
А вот ++ и -- в Python нет вообще. a++ либо синтаксическая ошибка, либо (как ++a) трактуется как двойной унарный плюс и просто возвращает то же число, ничего не увеличивая. Так что для инкремента всегда пишут a += 1.
Аслан Меремуков Ага, +a +a — это просто плюс к плюсу, по факту ноль смысла · 14 месяцев назад
Иван Белов Удобно, меньше шансов опечататься как в сишных циклах · 14 месяцев назад
6
Нет.
Данил Макаров В смысле — `++` нет, а `+=` это и есть инкремент · 14 месяцев назад
1
Можно вообще a = a + 1 писать всегда, += это для ленивых 😄 для чисел разницы ноль.
Сэм Райдер Для списков разница есть: += это extend на месте, а = создаёт новый объект · 14 месяцев назад
Ваш ответ
Войдите, чтобы ответить на вопрос.