senjun-courses icon indicating copy to clipboard operation
senjun-courses copied to clipboard

Курс по питону: добавить информацию про работу интерпретатора с выделением ресурсов

Open Microvenator opened this issue 1 year ago • 2 comments

По фидбэку нашего пользователя:

На этом шаге открыл (предварительно пройдя через все стадии принятия) для себя важный момент, про который можно упомянуть в главе 9, где идет про сравнение id объектов при использовании оператора is. Момент заключается в, видимо, разном выделении памяти интерпретатора Python под объекты при работе в интерактивном режиме (запуск интерпретатора python из командной строки) и при запуске файлов-программ .py.

  1. В интерактивном режиме:

t1 = (1, 2) t2 = (1, 2) print(t1 is t2) False

  1. Если записать этот код в файл .py и запустить ее, тогда вывод будет True

Подробнее описывается тут https://ru.stackoverflow.com/questions/1003018/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80-is-%D0%B8-%D0%BA%D0%BE%D1%80%D1%82%D0%B5%D0%B6%D0%B8

Таким образом, поведение интерпретатора в интерактивном и скомпилированном режиме различаются, и этот момент важно подчеркнуть, я считаю. А то у вас написано, что id у двух кортежей t1 и t2 - одинаковы, а я упорно в интерактивном режиме получаю idшники разные))

Microvenator avatar Apr 17 '24 14:04 Microvenator

Я так понимаю, это поведение исключительно зависит от реализации.

deksden avatar Apr 19 '24 14:04 deksden

Да, безусловно. Просто нужно об этом написать)

Microvenator avatar Apr 20 '24 13:04 Microvenator