Python は Java ではありません。自由に多くのクラスを 1 つのファイルに入れ、カテゴリに従ってファイルに名前を付けてください。
import mypackage.image
this_image = image.png(...)
that_image = image.jpeg(....)
クラスが非常に大きい場合、メンテナンスの負担を軽減するためにそれらを別々のファイルに分けたい場合は問題ありませんが、ユーザー (または独自のパッケージを使用している場合は自分自身) に余分な苦痛を与えるべきではありません;)。パッケージの__init__
ファイル (または などのカテゴリ ファイルimage
) にパブリック クラスを集めて、かなりフラットな名前空間を提示します。
mypackage の__init__.py
(またはimage.py
):
from _jpeg import jpeg
from _png import png
mypackage の_jpeg.py
:
class jpeg(...):
...
mypackage の_png.py
:
class png(...):
...
ユーザーコード:
# if gathered in __init__
import mypackage
this_image = mypackage.png(...)
that_image = mypackage.jpeg(...)
また:
# if gathered in image.py
from mypackage import image
this_image = image.png(...)
that_image = image.jpeg(....)