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

Резултати

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

Пребарај: #pass

当前筛选 #pass清除筛选

🇮🇳Индия принимает российские сертификаты вакцинации c 3 ноября Для въезда в Индию туристам из РФ, кроме визы, необходимо иметь сертификат вакцинации на английском языке (proof) или справку с результатом ПЦР-теста. Сохраняется требование о заполнении онлайн-формы Air Suvidha. @travasap#india#rules#pass#tests

硬核小卒

@yinghexiaozu · Post #725 · 20.12.2020 г., 15:03

1️⃣Podcast Ads - 播客生存模式探索(上):这篇文章详细地介绍了播客的商业模式,包括播客行业的三大类广告,还有一些案例分析,值得一读。#播客#商业模式#广告 2️⃣梁孟松的 “标签”:半导体技术天才梁孟松在半导体行业(AMD、台积电、三星、中芯国际)的那些故事,目前,近七十岁的他在中芯国际追求人生理想。#梁孟松#芯片#AMD#台积电#中芯国际 3️⃣Electron 的 GitHub 主页:Electron 可以让你用前端技术(HTML、JS、CSS)构建跨平台的桌面应用,很多知名应用都是用 Electron 开发的,包括 VS Code、Notion、Slack、Discord、Spotify、WhatsApp、Atom、Raven、Typora、Xmind Zen,也可以从中学习到很多桌面开发的知识。#Electron#桌面开发#技术 4️⃣什么是 Serverless?:Serverless 作为一种技术趋势,允许用户编写和部署代码而无需担心底层基础设施,如数据库。#Serverless#技术趋势#Pass 5️⃣Billionaires Build:Paul Graham 最新的一篇博客,分享了他的思考:一个人如何成为亿万富翁,以及这些人的共同特质。#PaulGraham#创业 Automatically sent by Hardcore Bot v0.9.1