我不理解 python 中 import 语句的模块结构和功能

1 python scikit-learn

谁能帮我理解 python 的模块结构以及导入在 python 中的工作原理。

我想在 python 中使用linear_modelsklearn 模块,但这两个不同的代码表现不同,而它们应该表现相同。一个出现错误,另一个运行正常。 看看这张图片中的代码...

import sklearn as sk # gives error

from sklearn import linear_model # works fine
Run Code Online (Sandbox Code Playgroud)

AKX*_*AKX 6

import sklearn对应于导入sklearn/__init__.py.

该模块不会将子包sklearn.linear_model( sklearn/linear_model/__init__.py) 作为属性重新导出。

他们没有理由采取同样的行动。有些包会重新导出,但许多包(包括 scikit-learn)则不会。