Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в Python 3.3
Что он означает?
Ранее, до 3.3 пакетами считались лишь директории, в которых есть файл __init__.py.
Этот файл одновременно являлся свидетельством того, что директория это Python-пакет, и служил "телом" этого пакета. То есть местом, где можно написать код, как это делается внутри модуля. Этот код исполняется в момент импорта пакета, так что его принято называть "код инициализации пакета".
Начиная с версии 3.3 Любая директория считается пакетом и Python будет пытаться использовать любую директорию для импорта.
Конечно, не любую в файловой системе, а только те что находятся в sys.path.
Это значит, что теперь __init__.py нужно делать только если:
🔸 вам требуется создать код инициализации пакета
🔸 нужна совместимость со старыми версиями Python
На мой взгляд это немного упрощает разработку, делает её чище, но с другой стороны убивает некоторую однозначность происходящего.
Например, я создал репозиторий со своей библиотекой и рядом положил код примеров или тестов.
repo_name/
my_library/
__init__.py
main.py
examples/
exam1.py
exam2.py
В этом репозитории пакетом является только my_library, остальные директории это не пакеты, это просто дополнительный код в файлах. Директория examples не добавлена в sys.path, в ней нет рабочих модулей. Но если она лежит рядом с my_library, то Python вполне сможет импортнуть из неё модули, так как посчитает что examples это валидный пакет.
Конечно, пример несколько надуманный. Никто не будет добавлять корень репозитория в sys.path. Но, я думаю, суть ясна. Иногда директория это просто директория а не пакет!
#basic#pep
🚀 ¡New OrangeFOX Build is released!
#Ofox#diting
Code Name:diting
FileName:OrangeFox-R11.3_1-Unofficial-diting.zip
Sha1Sum:f786d578226c382a83572c26af7448c34f8ba4a0
Size:53M
* Weekly update
Download:GoFile Mirror
by @TeamMEX_XDA
If you like my work and want to support it please consider making a donation this helps with server costs.
Donate PayPal
🚀 ¡New OrangeFOX Build is released!
#Ofox#diting
Code Name:diting
FileName:OrangeFox-R11.3_1-Unofficial-diting.zip
Sha1Sum:38c8a1a6bbf7307ff1a58ea2c6af078b121adb02
Size:53M
* Weekly update
Download: GoFile Mirror
by @TeamMEX_XDA
If you like my work and want to support it please consider making a donation this helps with server costs.
Donate PayPal
🚀 ¡New OrangeFOX Build is released!
#Ofox#diting
Code Name:diting
FileName: OrangeFox-R11.3_1-Unofficial-diting.zip
Sha1Sum: 40f78ea0499c97863426e72e78a56035f4b5df6d
Size: 53M
* Weekly update
Download:GoFile Mirror
by @TeamMEX_XDA
If you like my work and want to support it please consider making a donation this helps with server costs.
Donate PayPal
OrangeFox Recovery Project - Official | Nothing Phone (2)
📝 Details:
- Version: R11.1_1
- Codename: #Pong
- Released: 08/02/24
⬇️ Download : Here
🏛 Support Threads : TG | XDA
⚙️Installation | Visual Tutorial
📸Screenshots
💰 Donate : UPI || PayPal
🏷 Tags: #OFOX#Recovery#Official
🗒 Notes:
Cmds to flash via fastboot:
fastboot flash recovery_a <recovery.img>
fastboot flash recovery_b <recovery.img>
Flashing to both slots is optional! Users can update by flashing the new build over the previous one by flashing the zip in magisk or manually extracting the recovery.img and flashing it via fastboot or supported flashing apps.
If you flash the OTA.zip (Nothing OS update packages), it's recommended to follow these steps for a smooth update process:
1. Flash the OTA.zip.
2. Immediately flash the OrangeFox.zip.
3. Reboot to recovery.
4. Flash the OTA.zip again.
5. Follow up with flashing the OrangeFox.zip.
✨Changelogs:
- Synced with latest sources
- fixes various bugs and problems
- Fixed flags
- Fixed flashing error via old orangefox via last build
- Improved compatibility with custom roms
🏆Credits:
- Nebrassy for his TWRP trees
👤 Maintainer : @phobosc_io
🔔 Updates : @NothingPhone2Updates
🐙 Chat : @NothingPhone2
OrangeFox Recovery Project - Official | Nothing Phone (2)
✍️ Details:
- Version: R11.1_6
- Codename: #Pong
- Released: 17/10/2024
🔽 Download : Here | Toolbox
⚙️ Installation: Here
🆘 Support Threads : TG | XDA
📸 Screenshot: Here
🎄 DT: Here
💵 Donate : UPI | PayPal
🔖 Tags: #OFOX#Recovery#Official#NothingPhone2
💫 Changelogs:
- Update to R11.1_6 version
- Updated prebuilt magisk to v28.0
- Now when flashing image you see all options at once
- Built with latest source
🏆Credits:
- Nebrassy for his TWRP trees
👤 Maintainer : @phobosc_io
🔔 Updates : @NothingPhone2Updates
🐙 Chat : @NothingPhone2