Как работает функция 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
По следам экспедиции...
На джайлоо Сон-Кол в конце сентября уже холодно.
Скотоводы спешно снимают свой лагерь, пакуют вещи, вывозят скот. К этой слаженной работе присоединяется и наш экспедиционный отряд, помогая собрать две юрты.
Увидев меня, курсирующего по стойбищу в колпаке, хозяин спросил: "Ты - кыргыз?"
Я ответил, что нет, что я из России. Он тогда уточнил, откуда я? Говорю, что я из Барнаула, это Алтайский край.
В этот момент глаза пастуха наполнились особым вдохновением. Он радостно заключил: тогда ты точно кыргыз!
Почему, удивился я?
Байке пояснил: Алтай и Кыргызстан - это одно и тоже. И здесь и там живет один народ - кыргызы!
В этот момент в словах пастуха открылся один из эпизодов устной этноисторической памяти кыргызов - четкое представление о том, что Алтай когда-то, являлся их домом, одной из прародин!
#этнография#этнология#антропология#ethnology#ethnography#anthropology#ethnologie#ethnographic#ethnographie
По следам экспедиции...
Зачастую традиционная культура открывает свои тайны только через ее глубоких знатоков. Можно общаться с десятком собеседников, и не узнать ничего. А можно встретить одного аксакала, который, как неиссякаемый колодец утолит жажду всех твоих знаний...
В селе Кара-Суу Кочкорского района Нарынской области таким нашим собеседником стал Мамбет Садык уулу. Он - табып - лекарь, знахарь, врачеватель многих болезней.
Отвечая по-кыргызски на мои вопросы о целительных свойствах коровьего молока, которым лечили маленьких детей, он вдруг по-русски спросил меня: "Ну, а сам ты как? Как звать тебя? Семья есть, дети есть?"
Есть - отвечаю я. Он снова перешел на кыргызский: "Чакши, чакши!" Хорошо, мол, рад за тебя.
А потом он провел нас до ближайшего арыка, на берегах которого растут лечебные травы. Без этих растений, как и без молитвы, многие болезни не вылечить....
#этнография#этнология#антропология#ethnology#ethnography#anthropology#ethnographic#ethnographie#кыргызстан#кыргызы
Подводим итоги международной этнографической экспедиции "Большой Алтай" в Кыргызстане.
✍работали с 18 по 28 сентября
✍районы работ : Иссык-Кульская и Нарынская области
✍посетили 10 населенных пунктов
✍прошли маршрут в 2000 км
✍участвовали 20 этнографов из 12 вузов и научных учреждений Кыргызстана и России
✍собранные материалы послужат основой коллективной монографии.
#этнография#этнология#антропология#ethnology#ethnography#anthropology#ethnologie#ethnographic#ethnographie#кыргызстан#кыргызы#большойалтай#bolshoyaltay#этнографическаяэкспедиция#путешествия