【问题标题】:Does PEP-8 mandate imports or global variables first?PEP-8 是否首先要求导入或全局变量?
【发布时间】:2021-05-03 11:10:37
【问题描述】:

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

在全局变量之前导入:

import some_library
GLOBAL_VARIABLE = "something"

或导入前的全局变量:

GLOBAL_VARIABLE = "something"
import some_library

【问题讨论】:

  • 最佳做法是不使用全局变量。
  • 我猜“全局变量”是指“常数”。

标签: python pep8


【解决方案1】:

标准 用于导入在全局变量之前。这样做有几个优点:

  1. 如果您导入具有相同名称的全局文件,则导入中定义的变量将优先。
  2. 如果您使用另一个全局文件导入文件,则不必在此处编写。
  3. 您可以导入一个全局文件并隔离这种复杂性。

正如在其他一些 cmets 中提到的,使用全局变量并不是 Python 中的最佳实践。你可以阅读更多关于这个here的信息。

【讨论】:

  • 最后一条评论需要解释一下。听起来有点荒谬。
  • 是的,我只需要找到最清晰的来源
  • 把你的意思说清楚就好了。
【解决方案2】:

PEP 8 谈到进口:

导入总是放在文件的顶部,就在任何模块之后 cmets 和 docstrings,以及模块全局变量和常量之前。

所以这个

import some_library
GLOBAL_VARIABLE = "something"

符合 PEP-8,而且这个

GLOBAL_VARIABLE = "something"
import some_library

不是。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2018-04-27
    • 2019-01-20
    • 2011-06-10
    • 2020-10-10
    • 1970-01-01
    • 2016-02-25
    相关资源
    最近更新 更多