Как работает функция 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
Telegram Batal Diblokir di Indonesia
Kementerian Komunikasi dan Informatika (Kominfo) memutuskan untuk tidak memblokir aplikasi Telegram di Indonesia. Keputusan ini datang setelah adanya beberapa peringatan yang diberikan kepada Telegram terkait penyebaran konten judi online di platform tersebut.
Sebelumnya, Kominfo sempat mengancam akan memblokir Telegram jika tidak kooperatif dalam menghapus konten-konten yang melanggar hukum di Indonesia. Namun, hingga saat ini belum ada tindakan pemblokiran yang dilakukan.
Kominfo berharap Telegram segera mengambil langkah konkret untuk mematuhi regulasi dan menjaga platform mereka tetap aman dan bersih. Keputusan ini diambil untuk memberikan kesempatan bagi Telegram untuk memperbaiki sistem mereka dalam mendeteksi dan menghapus konten ilegal.
Dilansir dari detikInet, Direktur Jenderal Aplikasi Informatika (Dirjen Aptika) Kementerian Kominfo, Telegram telah merespons surat dari Kominfo, utas Semuel Abrijani Pangerapan.
"Telegram sudah respon kita, minta channel-channel itu ditutup kan. Sudah kemarin," ujar Semuel pada Kamis (27/6/2024).
#blokir
Kominfo Ancam Blokir Telegram di Indonesia Karena Konten Judi Online
Pemerintah Indonesia, melalui Kementerian Komunikasi dan Informatika (Kominfo), telah mengumumkan rencana untuk memblokir aplikasi pesan instan Telegram. Keputusan ini diambil karena Telegram dianggap tidak kooperatif dalam memberantas konten judi online yang semakin marak di platformnya. Menteri Komunikasi dan Informatika, Budi Arie Setiadi, menegaskan bahwa jika Telegram tidak menunjukkan kerjasama yang memadai, aplikasi tersebut akan diblokir di Indonesia.
Telegram sendiri belum memberikan tanggapan resmi terkait ancaman pemblokiran ini. Namun, mereka diharapkan untuk segera mengambil langkah-langkah yang diperlukan agar tetap dapat beroperasi di Indonesia tanpa melanggar peraturan yang berlaku.
#blokir
Nepal Memblokir Telegram Karena Kasus Penipuan yang Meningkat
Otoritas Telekomunikasi Nepal (NTA) telah memerintahkan pemblokiran segera aplikasi pesan Telegram di seluruh negeri tersebut.
Apa yang terjadi:
• Sebuah pemberitahuan resmi segera dikirim ke semua operator telekomunikasi.
• Blokir mulai berlaku segera setelah arahan dari Perdana Menteri, Kementerian Komunikasi, dan Kementerian Dalam Negeri.
• Keputusan diambil setelah konsultasi dengan kepolisian dan lembaga keuangan.
Alasan resmi:
• Peningkatan tajam penipuan online yang melibatkan Telegram.
• Kasus pencucian uang yang dikonfirmasi melalui aplikasi tersebut.
• Ratusan insiden yang tercatat oleh polisi, mulai dari tawaran pekerjaan palsu hingga penipuan kripto dan keuangan.
#blokir#Nepal
Amsterdam telah memblokir Telegram untuk pegawai negerisipil
Pemerintahan Amsterdam telah berlakukan blokir penggunaan utusan Telegram untuk pejabat kota. Alasan utama blokir ini adalah potensi risiko spionase dan penggunaan aktif aplikasi oleh penjahat, khususnya untuk perdagangan narkoba.
Keputusan untuk melarangnya dibuat pada bulan April, namun tidak diumumkan secara terbuka. Kantor walikota menyatakan keprihatinannya tentang kemungkinan hubungan Telegram dengan pemerintah Rusia, yang dapat menimbulkan ancaman keamanan.
Blokir ini berlaku untuk ponsel kantor para pejabat. Pada saat yang sama, Telegram tetap populer di Belanda, dimana sekitar 1,9 juta orang menggunakannya.
Pakar keamanan siber menganggap tindakan tersebut dapat dibenarkan, mengingat kurangnya standar enkripsi end-to-end di Telegram. Telegram kini masuk dalam "daftar hitam" aplikasi bersama TikTok dan WeChat.
Organisasi nirlaba Offlimits dan Stichting Stop Bangalijsten menyerukan kepada Komisi Eropa untuk mengambil tindakan terhadap penyebaran konten berbahaya di Telegram, mengingat kelambanan pihak berwenang “tidak dapat dipahami”.
#Blokir#Amsterdam