Так практически в любых языках происходит для непримитивов. Иначе никак.
Это легко пояснить примером. Вот ты создал объект, который работает с файлом или базой данных. При копировании этого объекта будет повторное обращение к файлу или к бд, что автоматом выдаст ошибку.
Поэтому передается ссылка. Таким образом один объект со связью с файлом/бд можно передавать по программе.
Да я понимаю, как работают ссылки, просто щас минут 10 втупливал и пытался понять, каким образом у меня конструкция типа [item.something() for item in items]умудряется брать и беспардонно изменять все элементы списка в первой же итерации. А все потому что я до этого взял и список ссылками на один и тот же объект заполнил.
Я все еще херею с питона. [:], .copy() и copy.copy() оказалось недостаточно, чтобы помешать ему обмазываться ссылками. Только после copy.deepcopy() этого пидораса наконец-то проняло.
Так практически в любых языках происходит для непримитивов. Иначе никак.
Это легко пояснить примером. Вот ты создал объект, который работает с файлом или базой данных. При копировании этого объекта будет повторное обращение к файлу или к бд, что автоматом выдаст ошибку.
Поэтому передается ссылка. Таким образом один объект со связью с файлом/бд можно передавать по программе.
практически в любых языкахЛюбых ненормальных? )
Да я понимаю, как работают ссылки, просто щас минут 10 втупливал и пытался понять, каким образом у меня конструкция типа
[item.something() for item in items]умудряется брать и беспардонно изменять все элементы списка в первой же итерации.
А все потому что я до этого взял и список ссылками на один и тот же объект заполнил.
кто вообще учит петухон в 2023 году?
новички, простой же язык. Ну и всякие вкатыватели в IT типа тестеров, скриптеров и любителей бигдаты.
Я все еще херею с питона.
[:], .copy() и copy.copy() оказалось недостаточно, чтобы помешать ему обмазываться ссылками.
Только после copy.deepcopy() этого пидораса наконец-то проняло.