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

Резултати

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

Пребарај: #updaterkmm

当前筛选 #updaterkmm清除筛选
YuKongA | Channel

@YuKongA13579 · Post #831 · 06.06.2024 г., 08:03

重新研究了一遍小米系统更新的请求链接。 接下来会完善软件的业务能力: 1. 查询的版本存在,显示查询版本的信息;如果查询的不是最新版本,同时返回距离最新稳定版之间的增量信息; 2.查询的版本不存在,但是比稳定版最新版本低,返回稳定版最新版本; 3.查询的版本不存在,也比稳定版最新版本高,不登录的情况下无返回,如果登录且拥有开发版权限,则返回开发版最新版本。 总结: 完全同步系统更新的业务逻辑。 #Updater#UpdaterKMM#News

YuKongA | Channel

@YuKongA13579 · Post #795 · 11.05.2024 г., 06:15

昨天发的 desktop 版本都是基于 kotlin/jvm 打包的,刚刚试了下 kotlin/native 也能打包并且跑起来,但是键盘映射问题很大,还是等官方继续完善吧 #UpdaterKMM#compose#native

YuKongA | Channel

@YuKongA13579 · Post #842 · 07.06.2024 г., 06:37

主要更新: - Fix search DEV info - Bump version to v1.1.0 - Add Redmi A3 & Redmi Note 13R - Optimize the size of Android app - Optimize the night mode of Android app - Update deps 增强软件的业务能力: 1. 当查询的版本存在,且是最新版本,显示查询版本的信息; 2. 当查询的版本存在,但不是最新版本,显示查询版本的信息的同时返回更新到最新版本的增量信息; 2. 当查询的版本不存在,但是比最新稳定版版本低,返回最新版本; 3. 当查询的版本不存在,且比最新稳定版版本高,如果此时登录了拥有开发版权限的账号,返回开发版最新版本。 #UpdaterKMM#JVM#Compose#APK#Xiaomi#HyperOS#MIUI