Припустимо, у мене є корисна функція python або клас (або будь- useful_thing
який інший), який називається в одному файлі. Існує два принципи організації вихідного дерева. Перший спосіб використовує один модуль:
- setup.py
- README.rst
- ...etc...
- foo.py
де useful_thing
визначено в foo.py
. Друга стратегія - скласти пакет:
- setup.py
- README.rst
- ...etc...
- foo
|-module.py
|-__init__.py
де useful_thing
визначено в module.py
. У випадку з пакетом __init__.py
це виглядатиме так
from foo.module import useful_thing
так що в обох випадках ви можете це зробити from foo import useful_thing
.
Питання: Який спосіб є кращим і чому?
EDIT: Оскільки користувач gnat каже, що це питання сформовано погано, я додам, що офіційний підручник з упаковки python, схоже, не коментує, який із описаних вище методів є кращим. Я не надаю особистого списку плюсів і мінусів, тому що мене цікавить, чи існує метод, який бажає отримати спільнота, а не викликати обговорення плюсів і мінусів :)