TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #205 · 22 јан.

Как работает функция reload()? Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора. Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload() from importlib import reload reload(my_module) 🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком! 🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули. 🔸Она не может перезагрузить ранее не импортированный модуль. 🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля. Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся. Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты. Напишем простой модуль # mymodule.py x = 1 Теперь импортируем модуль и отдельно переменную х из модуля >>> import mymodule >>> from mymodule import x >>> print(mymodule.x) 1 >>> print(x) 1 Не перезапуская интерпретатор вносим изменения в модуль # mymodule.py x = 2 Делаем перезагрузку модуля и проверяем х ещё раз >>> reload(mymodule) >>> print(mymodule.x) 2 >>> print(x) 1 То же самое будет если присвоить любой объект переменной (даже словарь или список) Повторный импорт обновляет значение >>> from mymodule import x >>> print(x) 2 🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать. #tricks#basic

Резултати

Пронајдени 2 слични објави

Пребарај: #changwu

当前筛选 #changwu清除筛选

МЕТАЛЛИЧЕСКИЙ ПИН ИЗ СЕРИИ «ТАНЦЫ В НЕБЕ» | ОФИЦИАЛЬНЫЙ МЕРЧ | AZURLANE 🌟Персонажи: 🌟 Shinano 🌟 Chang Wu 🌟Детали: ⭐ Товар ЛИМИТИРОВАН, продажи будут до 12 МАРТА ⭐Предпродажа, отправка на склад в течение 200 дней ⭐Размеры: пин 5,5х5,7 см; подвеска 2,5х2 см 🌟Цена: 900 🌟 (рублей) 🌟Доставка: 🅰️ Цена указана С УЧЕТОМ доставки ДО РФ 🌟Обратная связь: ⁉️Вопросы о доставке, оплате и тд. 👀Отзывы 🌟Купить: 🅰️@astroknight_bot 🅰️ С реальными менеджерами #AzurLane@astroknightshop #Shinano@astroknightshop #ChangWu@astroknightshop

ТОВАРЫ С ПЕРСОНАЖАМИ ИЗ СЕРИИ «ВОСТОЧНОЕ ВЕЛИКОЛЕПИЕ» | ОФИЦИАЛЬНЫЙ МЕРЧ | AZURLANE 🌟Персонажи: 🌟 Friedrich der Große 🌟 Implacable 🌟 Hindenburg 🌟 Shinano 🌟 Chang Wu 🌟 Moskva 🌟 Bogatyr 🌟 Hai Chou 🌟Детали: ⭐ Товар ЛИМИТИРОВАН, продажи будут до 12 МАРТА ⭐Предпродажа, отправка на склад в течение 200 дней 🌟Набор из 2-х значков ⭐Размеры: 75 мм 🌟Цена: 900 🌟 (рублей) 🌟Металлический значок ⭐Размеры: 75 мм 🌟Цена: 500 🌟 (рублей) 🌟Шикиши ⭐Размеры: 145х210 мм 🌟Цена: 1300 🌟 (рублей) 🌟Акриловыйбрелок ⭐Размеры: 57,5х96,5 мм 🌟Цена: 850 🌟 (рублей) 🌟Акриловыйкирпич с песком ⭐Размеры: 150х90х10 мм 🌟Цена: 1450 🌟 (рублей) 🌟Доставка: 🅰️ Цена указана С УЧЕТОМ доставки ДО РФ 🌟Обратная связь: ⁉️Вопросы о доставке, оплате и тд. 👀Отзывы 🌟Купить: 🅰️@astroknight_bot 🅰️ С реальными менеджерами #AzurLane@astroknightshop #FriedrichderGroße@astroknightshop #Implacable@astroknightshop #Hindenburg@astroknightshop #Shinano@astroknightshop #ChangWu@astroknightshop #Moskva@astroknightshop #Bogatyr@astroknightshop #HaiChou@astroknightshop