Python Code convention Guide


Pythonコード会議のクリーンアップ


Naming Conventions

  • 関数名(小文字+下線)
  • # Correct
    def get_text()
    # Wrong
    def get_Text()
    def Get_Text()
    def Get_text()
  • 変数名(小文字+下線)
  • # Correct
    text
    text_length
    # Wrong
    Text
    text_Length
    Text_length
  • グローバル変数名(g+アンダースコア+変数名)
  • # Correct
    g_text
    g_text_length
    # Wrong
    G_text
    g_Text_length
    g_text_Length
  • モジュール名(小文字+下線)
  • # Correct
    dataset.py
    text_style.py
    # Wrong
    Dataset.py
    text_Style.py
  • クラス名(大文字で始まる)
  • # Correct
    class VideoCapture()
    class VideoWriter()
    # Wrong
    class videoCapture()
    class Video_writer()
  • 定数名(すべて大文字+下線)
  • # Correct
    PATH
    WINDOW_SIZE
    # Wrong
    Path
    window_SIZE

    インデント


    インデント
  • スペース4行またはタブ
  • # Correct
        x = y
    # Wrong
      x = y

    Imports

  • インポートラインにモジュールまたはライブラリ
  • をインポート
    # Correct:
    import os
    import sys
    # Wrong
    import sys, os
  • ただしfromは複数のモジュールまたはライブラリ
  • を提供する.
    # Correct
    from subprocess import Popen, PIPE

    式、条件式のスペース

  • ()、[]、{}のスペースが最小
  • # Correct
    spam(ham[1], {egg: 2})
    # Wrong
    spam( ham[ 1 ], { eggs: 2} )
  • 、括弧(""")の間のスペースは最低
  • です.
    # Correct:
    foo = (0,)
    # Wrong
    bar = (0, )
  • 、わあ;次に、スペースを
  • に減らします.
    # Correct
    if x == 4: print x, y; x, y = y, x
    # Wrong
    if x == 4 : print x , y ; x , y = y , x
    예외
    # Correct 
    ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
    ham[lower:upper], ham[lower:upper:], ham[lower::step]
    ham[lower+offset : upper+offset]
    ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]
    ham[lower + offset : upper + offset]
    # Wrong
    ham[lower + offset:upper + offset]
    ham[1: 9], ham[1 :9], ham[1:9 :3]
    ham[lower : : upper]
    ham[ : upper]
  • でカッコ("(")を開く前に、関数またはリスト間のスペースを最小
  • に減らします.
    # Correct:
    spam(1)
    # Wrong:
    spam (1)
  • 括弧([])を開く前に、関数またはリスト間のスペースを最低
  • に下げます.
    # Correct:
    dct['key'] = lst[index]
    # Wrong:
    dct ['key'] = lst [index]
  • "="演算子を使用すると、数値または文字列の並べ替えの最大スペースは、1つのグリッド
  • です.
    # Correct:
    x = 1
    y = 2
    long_variable = 3
    # Wrong:
    x             = 1
    y             = 2
    long_variable = 3
  • バイナリ演算子の前後のスペースを使用します(計算する優先度の高い数値または変数間のスペースを最小化する必要があります).
  • # Correct:
    i = i + 1
    submitted += 1
    x = x*2 - 1
    hypot2 = x*x + y*y
    c = (a+b) * (a-b)
    # Wrong:
    i=i+1
    submitted +=1
    x = x * 2 - 1
    hypot2 = x * x + y * y
    c = (a + b) * (a - b)

    関数のスペース

  • 関数のパラメータ値または戻り値の"="演算子の後にスペース
  • は必要ありません.
    # Correct:
    def complex(real, imag=0.0):
        return magic(r=real, i=imag)
    # Wrong:
    def complex(real, imag = 0.0):
        return magic(r = real, i = imag)
    条件文の次の行で関数を呼び出す
    # Correct:
    if foo == 'blah':
        do_blah_thing()
    # Wrong 1:
    if foo == 'blah': do_blah_thing()
    # Wrong 2:
    if foo == 'blah': do_blah_thing()
    for x in lst: total += x
    while t < 10: t = delay()
    # Wrong 3:
    if foo == 'blah': do_blah_thing()
    else: do_non_blah_thing()
    try: something()
    finally: cleanup()
    do_one(); do_two(); do_three(long, argument,
                                 list, like, this)
    if foo == 'blah': one(); two(); three()
  • 同じ行で複数の関数
  • を呼び出す.
    # Correct
    do_one()
    do_two()
    do_three()
    # Wrong
    do_one(); do_two(); do_three()

    コメント

  • 注釈タイプ1
  • x = x + 1                 # Increment x
  • 注釈タイプ2
  • """Return a foobang
    Optional plotz says to frobnicate the bizbaz first.
    """
  • 注釈タイプ3
  • """Return an ex-parrot."""
    公式Pythonコード会議ガイドアドレス