Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
✅ 10 TRAINS🆓
• Personal Use License.
#coloringpage#trains#speed#kids
◆═════● PREMIUM ●═════◆
⭐ TRAINS: Coloring Book PDF Ready To Print.
• 40 Trains.
• Test Color Page.
• Print-Ready PDF 8,625x11,250 in.
• PNG 4215 x 5500 px High-quality.
• Remove watermark.
• Commercial Use License.
7.99€5.99€
👉Buy Now🛒
🪁Kites paralyzed operations at Jakarta airport
📰 In Jakarta, kites disrupted the takeoffs and landings of 21 aircraft: planes had to circle back or change airports.
🚄 Similar incidents have already delayed Whoosh high-speed trains 169 times in six months and cause annual accidents on Bali's power grids.
⛔️ The authorities remind the public that kites may only be flown away from airports, railways, and power lines.
#safety#airport#trains@BaliNews
🇬🇧Un incendie dans le nord de Londres provoque de nombreuses perturbations sur les lignes de trains, rapporte Sky News.
Au total, environ 70 pompiers ont été impliqués dans l'extinction de l'incendie dans le quartier de Camden.
#londres#incendie#trains
🇮🇩Le bilan de la collision entre deux trains dans la province de Java occidental en Indonésie s’alourdit à 14 morts et 84 blessés, a rapporté l’agence Antara.
#indonésie#trains#collision
🇮🇩 Au moins 3 personnes ont été tuées et 29 autres blessées dans une collision entre deux trains en Indonésie, rapporte Antara.
#indonésie#trains#collision
🇩🇰 Une collision frontale entre deux trains survenue près du village de Kagerup, au Danemark, a fait dix-sept blessés, dont quatre personnes se trouvent dans un état critique, a rapporté l’agence Ritzau.
#danemark#trains#collision#victimes
Two High-Speed Trains Collided in Southern Spain
At least 39 people have been killed and 24 others seriously injured after two trains collided in southern Spain on Sunday night in what the prime minister, Pedro Sánchez, called “a night of deep pain for our country”.
A high-speed Iryo train travelling from Málaga to Madrid derailed near the municipality of Adamuz in Córdoba province, crossing on to the other track where it hit an oncoming train, Adif, Spain’s rail infrastructure authority, posted on X.
The second train, which was operated by the state rail company, Renfe, also derailed and went down an embankment, authorities said.
The accident happened about 10 minutes after the Iryo left Málaga at 6.40pm (1740 GMT), Adif said.
“Approximately 300 people were on board at the time of the accident,” Iryo said.
“The derailment affected cars six through eight. The Guardia Civil and firefighters are currently working intensively at the scene to evacuate all passengers and have set up a joint emergency response team.
“Iryo deeply regrets the incident, has activated all its emergency protocols, and is collaborating closely with Adif, Renfe, and the relevant authorities to determine the causes and manage the situation as effectively as possible.”
Another witness told the public broadcaster RTVE that one of the carriages of the first train had completely overturned.
An unidentified passenger on the second train – which was going from Madrid to Huelva – told public broadcaster TVE:
“There were people screaming, their bags fell from the shelves. I was travelling to Huelva in the fourth carriage – the last, luckily.”
Television images showed medical crews and fire services at the scene.
Spain’s transport minister, Óscar Puente, said the cause of the accident had yet to be established. Speaking at a press conference at Atocha station in Madrid, he added it was “really strange” that a derailment should have happened on a straight stretch of track. This section of track was renewed in May, he said.
Puente said most of those killed and injured had been in the first two carriages of the second train.
#trains#collided#spain#puente#Iryo
📱American Оbserver - Stay up to date on all important events
🇺🇸