如果你有一个像module这样的模块,你能绕过它并在不使用该模块的情况下使用内部可用的功能吗?
我导入了模块,但编译器仍然提示没有找到函数。我仍然必须使用 module.function()。
它还有很多功能,所以我不想一一重新定义它们,而是尽可能避免输入 module。
请您参考如下方法:
在 Python 中导入只是将内容添加到您的命名空间。限定导入名称的方式是 import foo 和 from foo import bar 之间的区别。
在第一种情况下,您只需导入模块名称 foo,这就是您访问其中任何内容的方式,这就是为什么您需要执行 foo.bar()。第二种情况,您显式导入 only 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
或者你可以别名
将 foo 导入为 imported_foo
底线 - 尽量避免 from foo import *。
