Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
#trending: Teenager who has autism waits an hour at Jurong East MRT Station with no train service, mum goes to his aid
"The problem was that he didn’t know what his next step should be. At the same time, he may have been hoping that the train would arrive later." Ms Lydiawati Ismail said of her son who has autism.
🚇https://tdy.sg/3NajJLe
@todayonlinesg
#trending: Father-daughter dance at competition goes viral, viewers say it made them cry or think of their own dads
They won a “special mention” medal and they were also the oldest and youngest participants in the open category, Mr Jay Sng said.
🤸♂️🧑🧒https://tdy.sg/3XkEgla
@todayonlinesg
#trending: S'pore woman's biggest culture shock living in Sweden? Many couples skip marriage even after kids
Ms Wynnette Yip said that she has been in a relationship with her Swedish partner for eight years and often faces questions from friends and family in Singapore on whether her other half was ever going to propose to her or was simply "wasting (her) time".
🇸🇪https://tdy.sg/3ZpFcHx
@todayonlinesg
#trending: 'Full-on racial harmony' — video of Chinese S'porean youths loving Tamil movie goes viral
Many netizens found it refreshing and heartwarming to see Chinese youths so thoroughly enjoying a film of a different language and culture, with users calling their reactions "cute" and "awesome".
🎬https://tdy.sg/3AQNKwP
@todayonlinesg
#trending: 'Completely drained' — British expat's tale of long hours in China's tech sector goes viral
Many social media users in China were amused to see a foreigner grappling with the demanding work culture in their country.
🇨🇳https://tdy.sg/4egs2Ry
@todayonlinesg
#trending: S'pore non-profit that staged TikTok video of man harassing woman sparks debate on when to step in to help others
TikTok users have lauded real-life passers-by who chose to intervene and help the woman, not realising that it was a staged incident. They said that it is important to look out for each other.
➡️https://tdy.sg/3Xcbx1X
@todayonlinesg
#trending: SIA flight attendant praised as 'angel' for helping passenger clean jeans using own stain remover pen
In a "friendly chat" with a cabin crew member she referred to as Aiden, Ms Paige Parker asked him "almost jokingly" if SIA had any stain removers, expecting the answer would be no.
✈️https://tdy.sg/3AxJC4T
@todayonlinesg
#trending: Is Amsterdam safer? S'porean woman's reasons for moving to the Netherlands spark debate online
Aside from her safety concerns, the weather was a major factor, as she found Singapore too hot and humid. "I can't be sweating perpetually," she wrote.
➡️https://tdy.sg/3Ti9EQf
@todayonlinesg
#trending: Japanese ramen shop ranks Singaporeans’ spice tolerance as ‘mid’; netizens agree
Out of 10 levels, Singapore and Malaysia are ranked in the middle while Indonesia is at the top with the highest spice tolerance.
➡️https://tdy.sg/4fNFrBQ
#trending: Influencer's praise of NDP crowd control leaves S'poreans grateful for reminder 'we are so blessed'
Ms Francesca Tanmizi, an Indonesian who lives in Singapore, told her 316,000 TikTok followers she was wowed by the efficiency of NDP crowd control, the speedy cleanup of rainwater and the friendliness of the personnel involved.
🇸🇬https://tdy.sg/3WByhIk
@todayonlinesg
#trending: New S'pore teen character in Marvel comic book sounds like burnt-out student, say netizens
A Redditor teased that the character's powers could be “the result of years of training by her kiasu Tiger mum under the Singapore academic system” rather than an actual superpower.
👩🎓https://tdy.sg/4dFadep
@todayonlinesg
#trending: Netizens praise Jetstar Asia's 20th anniversary song for celebrating uniquely Singaporean traits
One viewer wrote: "Please consider (Mr Van Der Ven) for NDP theme song. He writes his own music and can supply 20 different types of aunties."
➡️https://tdy.sg/3WqSn85