导入模块隐式与显式

ikk*_*kuh 5 python python-import python-3.x

我想导入模块foo及其子模块foo.bar。我可以这样做:

import foo.bar
Run Code Online (Sandbox Code Playgroud)

现在,这两个foofoo.bar可作为我想要的。该文档说明,这是由于foo第一次被引进:

在这种情况下,Python 首先尝试 import foo,然后是foo.bar,最后是foo.bar.baz

我不清楚这是导入的工作方式。现在我知道以下内容似乎很愚蠢:

import foo
import foo.bar
Run Code Online (Sandbox Code Playgroud)

对于其他程序员来说,单个导入是否足够清晰?

Har*_*hah 0

单一导入不够清晰,无法很好地运行程序。我们需要明确说明从导入包中我们想要使用哪些项目。

也可以这样写,

import  foo
from foo import foo.bar
from foo import foo.bar.baz
Run Code Online (Sandbox Code Playgroud)