导入模块Python的最佳方法

时间:2018-04-17 04:57:08

标签: python coding-style python-import

你们可以import喜欢这个

 from .models import *

或者像这样

from .models import Student

2 个答案:

答案 0 :(得分:2)

来自PEP8:Wildcard imports (from <module> import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools. There is one defensible use case for a wildcard import, which is to republish an internal interface as part of a public API (for example, overwriting a pure Python implementation of an interface with the definitions from an optional accelerator module and exactly which definitions will be overwritten isn't known in advance).

通常,您只想导入所需内容,并确保导入是明确的(例如,列表中的第三个选项,但有时也是第四个选项)。

答案 1 :(得分:1)

一般来说,这取决于你要做什么以及你的编程风格。虽然它们都可以工作,但我建议坚持使用更明确的样式,例如你所列出的(3)和(4)。

使用*一次导入所有内容的问题是它们容易出现命名空间错误,并且不清楚您实际使用的是哪些模块。

虽然看起来更多的工作,如果你坚持只需要导入你需要的东西,它就会带来更容易理解的更好的程序。