@delawer123

Почему текстовый редактор и консоль по-разному присваивают ссылки на переменные Python?

Почему текстовый редактор и консоль по-разному присваивают ссылки на переменные Python?

В sublime text ссылка на переменные a и b одна и та же(хотя по сути так не должно быть):
655a3ada17cc4189477969.png

А в консоли на переменные a и b разные ссылки:
655a3b11a2333318988200.png

Почему так?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 2
@Everything_is_bad
О - оптимизация, одно дело, в REPL вводить по одной команде, другое дело, сразу интерпретатору скормить всё
Ответ написан
Комментировать
Maksim_64
@Maksim_64
Data Analyst
Ну смотри, здесь вся история про оптимизацию. В целях оптимизации str, int, и float. Указывают на один и тот же объект. Так как это не мутабельные типы данных, то сторонних эффектов нет.

Так вот когда, ты запускаешь все это дело скриптом, то эту оптимизацию, проще проводить, поскольку весь скрипт сначала парсится в строку, и на этом этапе python понимает что он может что то оптимизировать. А в интерактивном python каждая строка запускается по отдельности, и данный процесс на много сложнее осуществить.

Если ты сделаешь числа по меньшее, то он тебе и в интерактивном и если запускать через один и тот же скрипт выдаст один и тот id. например 11.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы