@TFGames · Post #2090 · 04.02.2024 г., 03:08
#VO#LAM #1 #GAMES https://testflight.apple.com/join/gG3mwDA8
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
Пребарај: #vo
@TFGames · Post #2090 · 04.02.2024 г., 03:08
#VO#LAM #1 #GAMES https://testflight.apple.com/join/gG3mwDA8
@TFGames · Post #1249 · 03.12.2023 г., 23:03
#VO#THANH#GAMES https://testflight.apple.com/join/GdZAiC72
@TFGames · Post #1251 · 03.12.2023 г., 23:05
#VO#LAM#XUA#GAMES https://testflight.apple.com/join/EU8EvTlZ
@TestFlightX · Post #34251 · 04.10.2024 г., 13:17
#VO#LAM#G4VN#MOBILE https://testflight.apple.com/join/Hvr3gMDP
@TFGames · Post #2001 · 26.01.2024 г., 18:56
#VO#LAM#CTC#MOBILE#GAMES https://testflight.apple.com/join/IeS1xI5E
@TFGames · Post #1954 · 19.01.2024 г., 05:27
#VO#LAM#CTC#MOBILE#GAMES https://testflight.apple.com/join/0PbdHzZ1
@TFGames · Post #1250 · 03.12.2023 г., 23:04
#VO#CONG#TK#MOBILE#GAMES https://testflight.apple.com/join/iWA9YPbi
@TFGames · Post #1252 · 03.12.2023 г., 23:06
#VO#LAM#1VIET#NAM#GAMES https://testflight.apple.com/join/iadH8F0x
@TFGames · Post #1583 · 20.12.2023 г., 06:10
#JX1#VO#LAM#VIET#GAMES https://testflight.apple.com/join/Bth6nyFQ
@TFGames · Post #1248 · 03.12.2023 г., 23:03
#VO#LAM#NGAY#XUA#GAMES https://testflight.apple.com/join/woEMo8c9
@TFGames · Post #1893 · 11.01.2024 г., 22:49
#VO#LAI#TRUYEN#KY#GAMES https://testflight.apple.com/join/7G3OCzPX
@TFGames · Post #1246 · 03.12.2023 г., 23:01
#VO#LAM#THIEN#TUYET#MOBILE #GAMES https://testflight.apple.com/join/vtPQFhqd