如果你有一个类似的模块module
,你可以绕过它并在不使用模块的情况下使用内部可用的功能吗?
我导入了模块,但编译器仍然抱怨不必查找function
. 我还是得用module.function()
。
它有更多的功能,所以我不想一一重新定义它们,而是module
尽可能避免打字。
如果你有一个类似的模块module
,你可以绕过它并在不使用模块的情况下使用内部可用的功能吗?
我导入了模块,但编译器仍然抱怨不必查找function
. 我还是得用module.function()
。
它有更多的功能,所以我不想一一重新定义它们,而是module
尽可能避免打字。
在 Python 中导入只是将东西添加到您的命名空间。import foo
如何限定导入的名称是和之间的区别from foo import bar
。
在第一种情况下,您只需导入模块名称foo
,这就是您可以访问其中任何内容的方式,这就是您需要这样做的原因foo.bar()
。第二种情况,您只 bar
显式导入,现在您可以这样称呼它:bar()
.
from foo import *
将所有可导入名称(在特殊变量中定义的名称__all__
)导入当前命名空间。虽然可行,但不推荐这样做,因为您最终可能会意外覆盖现有名称。
foo = 42
from bar import * # bar contains a `foo`
print foo # whatever is from `bar`
最佳做法是导入您需要的任何内容:
from foo import a,b,c,d,e,f,g
或者你可以给名字起别名
import foo as imported_foo
底线——尽量避免from foo import *
。