адрес в случае с конкантенацией через + дает тот же адрес, а через отдельную переменную - другой?
Дело в том как сам компилятор обрабатывает историю с управлением памятью, но почему он делает именно так?
Питон ещё при компиляции кода понял что ты сложил две константные строки и сделал это сам заранее. Дальше он увидел что строка одна и та же и не стал делать две копии.
Дело в том, что в интерактивном Python может быть другое поведение с тем, что ты пытаешься разобраться.
Немного на эту тему я рассказывал тут: https://youtu.be/Z1Br93A-Mp4
Тут не актуально, но на всякий случай тебе вдогонку. class A: pass print(id(A()) == id(A()))
Спасибо щас посмотрю
Обсуждают сегодня