Python がモジュール名を処理する方法に奇妙な動作があることに気付きました。
私が書く場合:
import a.b
import a
モジュール ab で何かを参照しようとすると、問題なく動作します。
ただし、少しだけ異なることを試みると、次のようになります。
import a.b
import c as a
モジュール ab で何かを参照しようとすると、次のようなエラーが表示されます。
AttributeError: 'module' オブジェクトに属性 'b' がありません
明らかな解決策は、同じ名前で参照する 2 つの異なるモジュールを持たないことであることを理解しています。ただし、この動作の変化の原因は何なのか、まだ興味があります。一方が機能し、もう一方が機能しないのはなぜですか?