1つのファイルに複数のパブリッククラスを配置する正当な理由がある場合でも、ファイルごとに1つのパブリッククラスを使用するJavaの規則が好きです。私の場合は、しかし、それらを別々のファイルに配置する場合、importステートメントに冗長な名前(または誤解を招くモジュール名)が含まれます。
import someConverter.SomeConverter
一方、someConverter
はファイル(およびモジュール)名で、SomeConverter
はクラス名です。これは私にはかなり優雅に見えます。すべての代替クラスを1つのファイルに入れると、より意味のあるimportステートメントになります。
import converters.SomeConverter
しかし、関連するすべてのクラスを単一のモジュールファイルに入れると、ファイルがかなり大きくなるのではないかと心配しています。 Pythonここでのベストプラクティスは何ですか?ファイルごとに1つのクラスは異常ですか?
その多くは個人的な好みです。 pythonモジュールを使用すると、各クラスを個別のファイルに保持し、import converters.SomeConverter
(またはfrom converters import SomeConverter
)を許可するオプションがあります。
ファイル構造は次のようになります。
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
そして、__init__.py
ファイルで:
from baseconverter import BaseConverter
from otherconverter import OtherConverter
Zachのソリューションは、Python 3。
その多くは個人的な好みです。 pythonモジュールを使用すると、各クラスを個別のファイルに保持し、import converters.SomeConverter
(またはfrom converters import SomeConverter
)を許可するオプションがあります。
ファイル構造は次のようになります。
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
そして、__init__.py
ファイルで:
from converters.baseconverter import BaseConverter
from converters.otherconverter import OtherConverter