私の質問はPythonの恥の殿堂に私を連れてこないことを願っています。Python3:パッケージレベルでの便利なモジュールのエクスポート方法
とにかく、私はパッケージpoo
に現在1つのモジュールmoo
しか含まれていません。将来、poo
(例えば、poo.moose
)の内部に追加のモジュールが存在する可能性があります。 moo
は主な使用モジュールの一種であり、のすべてのものを手に入れて、poo
、パッケージをインポートしたとします。私(と私のパッケージユーザー)はimport poo.moo
、import poo.moo as moo
、(気絶!)import poo.*
を避けたいです。あなたが知っているように、省エネは良いことです。
ので(完全に正しい方法でオフ願わくばではありません)私の考えは__init.py__
で、poo
をパッケージ化するモジュールpoo.moo
の「輸出」(関数、変数、クラス、...)をコピーすることです。私はpoo
の既存の定義を上書きしたくないです。
これを達成するための正しい、適切な、適切かつ効率的な方法は何ですか? (私は「理想」を使ったのですか?)それとも悪い考えですか?それとも、まったく異なる何かのために、この非常に盛んなPythonが "...そして今、何かの意味で"ですか? ;)
私のパッケージはPython3のみです。
In python, how do you import all classes from another module without keeping the imported module's namespace?は答えがありますが、これはPythonパッケージの__init__.py
コードにどうやって当てはまるのか理解できませんでした。この理由から、私の詳細な答えは以下のようなものです。
[Pythonでは、インポートされたモジュールの名前空間を保持せずに、ほかのモジュールからすべてのクラスをどのようにインポートするのですか?](https://stackoverflow.com/questions/11980062/in-python-how-do-you- import-all-classes-from-another-module-without-keeping-the) – ppperry
@ppperry残念ながら、 'from x import * as *'はPython3では動作しません。 – TheDiveO
'as * 'を削除してください。 – ppperry