PEP-8 是否首先强制导入或全局变量?

Does PEP-8 mandate imports or global variables first?

我可以知道在符合PEP-8的Python环境中吗?

在全局变量之前导入:

import some_library
GLOBAL_VARIABLE = "something"

或者导入前的全局变量:

GLOBAL_VARIABLE = "something"
import some_library

标准 是为了导入在全局变量之前。这样做有几个好处:

  1. 如果您导入一个具有同名全局变量的文件,那么导入中定义的变量将优先。
  2. 如果你用另一个全局导入一个文件,你就不必在这里写了。
  3. 您可以导入全局变量文件并隔离这种复杂性。

正如其他一些评论中提到的,使用全局变量并不是 Python 中的最佳实践。您可以阅读更多相关信息 here

PEP 8 说进口:

Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants.

所以这个

import some_library
GLOBAL_VARIABLE = "something"

符合 PEP-8 标准,并且这个

GLOBAL_VARIABLE = "something"
import some_library

不是。