我注意到python如何处理模块名称的一种特殊行为.
如果我写:
import a.b
import a
Run Code Online (Sandbox Code Playgroud)
然后尝试在模块ab中引用某些东西,它没有问题.
但是,如果我尝试的只是略有不同:
import a.b
import c as a
Run Code Online (Sandbox Code Playgroud)
然后尝试引用模块ab中的某些内容,我收到错误,说:
AttributeError:'module'对象没有属性'b'
我明白,显而易见的解决方案就是没有两个不同的模块,我用相同的名称来引用它们.但是,我仍然很好奇是什么导致了这种行为的改变.为什么一个工作而另一个工作?