Python コードを書いている多くの GUI コントロールを使用するアプリケーションを書いているとします。各コントロールはクラスによって記述されます。これらのクラスをすべて と呼ばれるモジュールに集約したいと考えていますgui
。ベテランの C/C++ 開発者として、次のようにクラスの実装をファイルごとに分離するのが最も理にかなっています。
gui/MainWindow.py
gui/Widget1.py
gui/Widget2.py
上記では、MainWindow
クラスの仕様はMainWindow.py
. ただし、この方法でファイルをレイアウトすると、これらのクラスを取得するための構文は次のようになります。
import gui
w = gui.MainWindow.MainWindow()
これは冗長に思えます。この制限を回避する方法は、次のように編集gui/__init__.py
することです。
from gui.MainWindow import *
from gui.Widget1 import *
from gui.Widget2 import *
これにより、クラスがgui
モジュールの名前空間に取り込まれます。その後、次のようにアクセスできます。
w = gui.MainWindow()
これは通常行われますか? コミュニティで適切と見なされるのに十分なPythonicityがありますか? 私が見ることができる1つの欠点はgui/__init__.py
、モジュールに新しいサブモジュールを追加するときに、必ず保持する必要があることgui
です。私はそのような手動のステップが好きではありません。
これに対処する方法についての考えや提案は素晴らしいでしょう。