投稿日:

ファイル内に子モジュールを作る


時々、子モジュールに収めたい機能があるけどファイルは一つにしたいとか、同じモジュールファイル内に子のモジュールを作りたい時があるので、やってみました。

関数からモジュールを作る(デコレータ利用)

モジュール定義用の関数の中で、最後に return locals() ってのがイケていないですが、色々考えても回避できませんでした。orz…

クラスからモジュールを作る(メタクラス利用)

Python 3 なら、クラスデコレータを使えるでしょうかね。

なお、特にクラス定義を使いたい理由がなければ、上の関数定義を利用する方が、モジュールコンテンツのコーディング上便利だと思います。

定義したモジュールのインポート

例えば上述の定義を hoge モジュールに書いている場合、次のような感じで通常のモジュールのように呼び出せるようになります。

どうでしょうか?

 

 

コメントを残す