13

これについて扱う質問がありますが、私が興味を持っているすべての点については話していません。

PEP 8 は、空白行について次のように述べています。

Separate top-level function and class definitions with two blank lines.

あなたが持っている場合:

  1. クラスのみのモジュール:

    # -*- coding: utf-8 -*-
    
    
    class A(object):
        pass
    

    クラスの開始とエンコーディング コメントを 2 つの空白行で区切りますか?

  2. import ステートメントとクラスを含むモジュール:

    # -*- coding: utf-8 -*-
    
    import module
    
    
    class B(object):
        pass
    
    
    class C(object):
        pass
    

    import ステートメントとエンコード コメントを 1 行の空白行で区切りますか?

    import ステートメントと、空白行が 2 行あるクラスの開始部分は?

  3. そしてメインモジュール:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import module
    
    
    def main():
        a = module.A()
        return 0
    
    
    if __name__ == '__main__':
        status = main()
    

    import ステートメントと最上位関数を 2 行の空白行で区切りますか?

    トップレベル関数の最後と、2 行の空白行を含む条件文は?

4

1 に答える 1

8

コードをチェックして、pep8 ガイドラインに準拠しているかどうかを確認できるpep8という Python モジュールがあります。

あなたがリストした例とそれらのいくつかの変種でpep8を実行しようとしましたが、一般に、pep8プログラムはそれらすべてをpep8ガイドラインに準拠していると受け入れました。したがって、基本的に、すべての質問に対する答えはyesです。

ある程度の主観性は存在します。たとえば、メイン関数とif __name__ == '__main__'セグメントの間に 2 つまたは 1 つの改行を入れることができます。ただし、 pep8 への準拠についてはあまり心配しません。 pep8 プログラムを他のコード アナライザー ( pylintなど) と共にダウンロードしてインストールするだけです。コードがこれらのテストに合格している限り、それで十分です。

于 2013-04-08T21:12:06.320 に答える