Python 2 ソフトウェアの一部をリファクタリングしています。コードは現在、45 程度のクラス (およびアプリケーションをブートストラップするためのクラス外の 2 行) を含む単一のファイルにあります。
理想的には、関連するクラスのファイルをディレクトリにグループ化して、ファイルごとに 1 つのクラスを作成したいと考えています。
私は通常、Python インポートを次のように記述します。
from zoo.dog_classes.beagle_class import BeagleClass
from zoo.dog_classes.dalmatian_class import DalmatianClass
どのモジュールがクラスにインポートされているかが明確になり、それらの名前ができるだけ短くなるようにします。
ただし、このソフトウェアの場合、ロジックは非常に複雑です。クラスは通常、クラス メソッドで相互に参照するため、多数の循環インポートが発生するため、このアプローチは除外されます。
モジュールを関数にインポートしたくありません。これは可読性が悪く、コードがどこでも繰り返されるためです。
私の唯一の選択肢は、そのような方法でインポートを書くことです:
import zoo.dog_classes.beagle_class
その後、クラスが必要になったとき:
b = zoo.dog_classes.beagle_class.BeagleClass()
ただし、これは非常に冗長で、書くのが面倒です。
輸入品はどのように処理すればよいですか?