Python:导入 foo.bar as bar 与 from foo import bar

Joh*_*ley 5 python python-import

鉴于这foo.bar是一个模块,有什么区别

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

和

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

我对模块的延迟导入对此有何影响特别感兴趣。

注意:这不是这个问题的重复。

小智 0

在第一行代码中:

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

在这里,您是bar从foo包导入的,但为什么添加 as bar意味着您需要访问func该包中的任何函数bar。你必须像这样访问 foo.bar.func,但是当你添加时,as bar你只需使用

 bar.func
Run Code Online (Sandbox Code Playgroud)

from foo import bar与刚刚导入的行相同bar