Как работает функция 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
Rəhman Məmmədli — Azerbaijani Gitara volume 2 (Bongo Joe, 2024)
#mugham#Azerbaijan
Azerbaijani Gitara Volume 2 — продолжение серии архивных релизов Bongo Joe Records, посвящённых феномену азербайджанской электрогитары. Первый том был сосредоточен на творчестве Рустема Кулиева, а в центре внимания второго — гитарист Рахман Маммадли.
Маммадли родился в 1961 году, в детстве играл на гармошке, а с середины 1970-х освоил электрогитару. Одним из первых он начал исполнять на этом инструменте азербайджанские народные мелодии и мугам. Его стиль сформировался под влиянием традиционной музыки и развивался на фоне распространения электрогитар «Йолана», произведённых в Чехословакии и ставших популярными на Кавказе. Маммадли активно использовал эффект перегруза и нестандартные техники, став заметной фигурой в формировании современного звучания азербайджанской гитары. Сегодня он преподаёт игру на таре в музыкальной школе в Физули и продолжает концертную деятельность.
🔗Spotify | AppleMusic | Bandcamp
Rüstəm Quliyev — Azerbaijani Gitara (Bongo Joe, 2020)
#mugham#psychedelic#bollywood#flamenco#Azerbaijan
Рустем Гулиев родился в 1969 году в селе Косалар, Нагорный Карабах. В детстве он освоил тар и саз, а с гитарой впервые столкнулся во время службы в армии и быстро стал известным гитаристом. В начале 90-х он покинул свой дом из-за конфликта в Карабахе и поселился в столице Азербайджана. Там он играл на свадьбах и телевидении, записал множество кассет. Стиль Рустема считал в себе музыку Азербайджана, фламенко, мелодии Болливуда, Афганистана и Ирана. Он создал уникальный звук в рамках без того своеобразной азербайджанской «электрогитарной» музыки. К сожалению, его карьера оборвалась в 2005 году после борьбы с раком легких. Однако его музыка продолжает оставаться популярной по всей стране. Azerbaijani Gitara — сборник записей Рустема, сделанных с 1998 по 2004 год. Он собран швейцарским лейблом Bongo Joe, семьей Рустема и грузинским лейблом Moutains of Tongues.
🔗Spotify | AppleMusic | Bandcamp
Сергей Параджанов и Давид Абашидзе — Ашик-Кериб (Грузия-фильм, 1988)
#film#mugham#saz#Georgia#Armenia#Azerbaijan#USSR
Ашик Кериб (აშიკ-ქერიბი) — советский художественный фильм 1988 года, снятый грузинским режиссером Додо Абашидзе и армянским режиссером Сергеем Параджановым на киностудии Грузия-фильм. Фильм снят по мотивам одноимённой сказки Михаила Юрьевича Лермонтова, написанной на основе широко распространённой в Закавказье, Средней Азии и на Ближнем Востоке народной сказки. В её основе лежит известный фольклорный сюжет «муж на свадьбе у своей жены». Фильм посвящается памяти Андрея Тарковского, друга и коллеги Параджанова, который скончался за 2 года до выхода фильма. Музыку к фильму написал азербайджанский композитор Джаваншир Кулиев, а в записи принимал участие известный исполнитель мугама Алим Гасымов. Саундтрек включает в себя инструментальную и электронную музыку, традиционную музыку ашугов и даже отрывок из «Аве Мария» Шуберта.
YouTube | Soundcloud