TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки
Python Заметки avatar

TGINSIGHT POST

Post #407

@pythonotes

Python Заметки

Views1,050Post view count
PostedJan 1901/19/2026, 09:01 AM
Post content

Post content

Все знают синтаксический сахар с операторами +=, -= и тд x += 1 Где под капотом он превращается в x = x + 1 Останется ли переменная х той же переменной после +=? Конечно нет, это же неизменяемый тип x = 1 print(id(x)) # 135373664533280 x += 1 print(id(x)) # 135373664533312 Теперь провернём тоже самое со списком ls = [1, 2] print(id(ls)) # 135373622585344 ls = ls + [3] print(id(ls)) # 135373619036608 Ожидаемо работает так же, ведь мы создали новую переменную. А теперь попробуем иначе: ls = [1, 2] print(id(ls)) # 135373622585344 ls += [3] print(id(ls)) # 135373622585344 print(ls) # [1, 2, 3] И, внезапно, это работает не так как с int, со списками оператор += работает как extend()! То же самое будет с *=, объект останется тем же. ls = [1, 2] print(id(ls)) # 135373622585344 ls *= 2 print(id(ls)) # 135373622585344 print(ls) # [1, 2, 1, 2] Следует помнить о такой важной разнице! (Особенно на собесах 😉) #tricks