代码之家  ›  专栏  ›  技术社区  ›  Sean

导入语句之间的Python空行约定

  •  0
  • Sean  · 技术社区  · 5 年前

    我正在用Python编写一些代码时,突然对import语句的空行约定感到好奇。

    我知道 typical import statement conventions specified in the PEP 8 style guide 为了 blank lines 也。然而,我开始好奇是否有一个惯例或不成文的规则之间的空白行进口声明。

    例如,我通常喜欢在pep8中指定的三个类别之间加上一个空白行(即标准库导入、相关第三方导入、本地应用程序/库特定导入),但我也注意到,许多人往往不这么做。我的PyLint应用程序甚至在我输入空行时抛出警告。

    我个人觉得这增加了一点关于每个进口图书馆属于什么“类别”的明确。有什么我应该遵守的惯例吗?

    提前谢谢。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Alex ÁñTø ÄçhäDäñ    5 年前

    在导入之间使用注释行代替空白行,指定它们属于哪些类别。。。 它带来了更清晰的信息,不会出现警告或错误

        2
  •  1
  •   askaroni    5 年前

    对。惯例是把各部分分开。 http://github.com/timothycrosley/isort 可以帮上忙。

    这些部分可能是这样的。

    from __future__ import absolute_import
    
    import os
    import sys
    
    from third_party import (lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8,
                             lib9, lib10, lib11, lib12, lib13, lib14, lib15)
    
    from my_lib import Object, Object2, Object3
    

    或者,另一个流行但不是通用的约定是只导入模块,而不是导入类或函数,如 Google Python Style Guide

    from __future__ import absolute_import
    
    import os
    import sys
    
    import third_party.module1
    import third_party.module2
    
    import my_lib