Python:将foo.bar作为bar导入,而不是从foo导入bar导入

Python:将foo.bar作为bar导入,而不是从foo导入bar导入,python,python-import,Python,Python Import,既然foo.bar是一个模块,那么 import foo.bar as bar 及 我特别感兴趣的是模块的惰性导入对这一点有什么影响 注意:这不是第一行代码中的。的副本: import foo.bar as bar 这里您正在从foo包导入bar,但为什么要将添加为bar意味着您需要访问bar中的任何函数func。你必须像这样访问 foo.bar.func但当您将添加为bar时,您只需使用 bar.func foo import bar中的行也一样,只是导入条我认为这不是真的。尝试这两

既然
foo.bar
是一个模块,那么

import foo.bar as bar

我特别感兴趣的是模块的惰性导入对这一点有什么影响


注意:这不是第一行代码中的。

的副本:

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

 bar.func

foo import bar中的
行也一样,只是导入

我认为这不是真的。尝试这两种方法,并使用
dir()
dir(bar)
进行检查,名称空间看起来是相同的。
bar
中的函数在这两个示例中都可用。@SimonFraser:我的解释是指模块中函数的可访问性在这两个示例中,bar中的函数
func1
可以通过
bar.func1()
访问,正如@SimonFraser所说,当您使用它们时,它们是完全等效的。我想知道Python在加载imports时所做的工作是否有什么不同。对于发现这个问题的人,请查看答案。
 bar.func