したがって、2つのモジュールAとB、および別のインストール済みモジュールCがあります。AとBでCのいくつかのメソッドを使用するとします。また、BでモジュールAが必要です。したがって、論理的には次のようになります。
A:
import C
B:
import A
ロジックは、BにAとCの関数が含まれることを教えてくれます。ただし、これはデフォルトではこのようには機能しません。モジュールAのCの関数を参照するには、追加のレベルの名前空間参照が必要です。
A.C.some_c_module()
厄介な「C言語のような」ifdefクローンを使用せずに、AとBの両方でCをインポートでき、問題なく動作することがわかりました。私の質問は、そのようなモジュールを2回インポートすると、ペナルティが発生するのでしょうか?ACsome_module == C.some_module?それとも私はこれをすることによってただ悪い男の子になっているのですか?