PEP 8:如何对__future__进口进行分组?

min*_*hee 9 python coding-style pep8 python-import

根据PEP 8:

应按以下顺序对导入进行分组:

  1. 标准库导入
  2. 相关的第三方进口
  3. 本地应用程序/库特定导入

您应该在每组导入之间添加一个空行.

但它没有提到__future__进口.是否应将__future__导入与标准库导入组合在一起,或与标准库导入分开.

所以,这是更优选的:

from __future__ import absolute_import
import sys
import os.path

from .submod import xyz
Run Code Online (Sandbox Code Playgroud)

要么:

from __future__ import absolute_import

import sys
import os.path

from .submod import xyz
Run Code Online (Sandbox Code Playgroud)

Ben*_*Ben 10

我亲自将它们分开.一个__future__进口不只是绑定的名称,像其他进口,它改变了语言的意义.使用from __future__ import division和不使用导入时,模块之类的东西可能会运行良好,但是如果我想了解更多关于它们的来源,那么在没有任何东西的地方给出不同的(错误的)结果看看导入的名称.__future__进口应该尽可能突出.

另外,我通常按字母顺序对组内的导入进行排序(没有特别好的理由这样做;我发现它对差异和合并分支有一些非常小的好处),__future__导入必须是第一个,所以我把它们放在他们自己的组中.