Я херею с этого питона

Какой умник придумал, чтобы нужно было отдельно пояснять интерпретатору, что "скопируй сюка объект, а не делай ссылку на него"?

Какой великий и интуитивно понятый язык.

22

Так практически в любых языках происходит для непримитивов. Иначе никак.

Это легко пояснить примером. Вот ты создал объект, который работает с файлом или базой данных. При копировании этого объекта будет повторное обращение к файлу или к бд, что автоматом выдаст ошибку.

Поэтому передается ссылка. Таким образом один объект со связью с файлом/бд можно передавать по программе.

5
Ответить

практически в любых языкахЛюбых ненормальных? )

1
Ответить

Да я понимаю, как работают ссылки, просто щас минут 10 втупливал и пытался понять, каким образом у меня конструкция типа
[item.something() for item in items]умудряется брать и беспардонно изменять все элементы списка в первой же итерации.
А все потому что я до этого взял и список ссылками на один и тот же объект заполнил.

Ответить