@TestFlightX · Post #34504 · 06.11.2024 г., 09:41
#DISCOURSE#HUB https://testflight.apple.com/join/wV1h4svp
Hashtags
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
Пребарај: #discourse
@TestFlightX · Post #34504 · 06.11.2024 г., 09:41
#DISCOURSE#HUB https://testflight.apple.com/join/wV1h4svp
Hashtags
@TossLabChannel · Post #862 · 28.10.2025 г., 00:31
#Discourse#用户脚本#油猴脚本 Discourse New Tab — 让论坛帖子自动在新标签页打开 这是一款专为 Discourse 论坛设计的开源用户脚本,能让点击的帖子、用户页或附件自动在 新标签页 打开,避免在同一页频繁切换。 支持黑白名单管理、自定义规则、深浅色主题,并能自动识别 Discourse 论坛,无需额外配置。适合常浏览论坛、追求高效阅读体验的用户。 💬 常见使用 Discourse 的论坛 • OpenAI Community — community.openai.com • GitHub Community — github.community • Docker Forum — forums.docker.com • Mozilla Discourse — discourse.mozilla.org • Nextcloud Forum — help.nextcloud.com • Raycast Community — community.raycast.com • Home Assistant — community.home-assistant.io • Obsidian Forum — forum.obsidian.md • Discourse 官方论坛 — meta.discourse.org • Fedora Discussion — discussion.fedoraproject.org • GNOME Discourse — discourse.gnome.org • Ubuntu Discourse — discourse.ubuntu.com • 少数派社区(实验版) — club.sspai.com • KodCloud 社区 — community.kodcloud.com • Rocky Linux 中文社区 — forums.rockylinux.cn 🔘@TossLab🔘@TossLabChannel
Hashtags