Предположим, у меня есть полезная функция или класс 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
.
Вопрос: какой путь предпочтительнее и почему?
РЕДАКТИРОВАТЬ: Так как пользователь gnat говорит, что этот вопрос плохо сформирован, я добавлю, что в официальном руководстве по созданию пакетов Python, похоже, не комментируется, какой из методов, описанных выше, является предпочтительным. Я явно не даю свой личный список плюсов и минусов, потому что меня интересует, есть ли предпочтительный для сообщества метод, а не обсуждение плюсов и минусов :)