Python コードのスタイルガイド【PEP8】とは?

PEP 8はPython Enhancement Proposal(Python改善提案)の略で、Pythonコードを書く際のスタイルガイドです。(日本語版公式ドキュメント)この文書はPythonのコア開発チームによって作成され、Pythonコミュニティ全体で広く受け入れられています。PEP 8の主な目的は、Pythonコードの読みやすさと一貫性を向上させることです。PEP 8スタイルガイドに従うことで、開発者間の理解を深まりコードの可読性が高くなります。ここでは、PEP 8の主要な規則をサンプルコードと共に紹介し、それぞれの重要性について詳しく解説します。

インデント:スペース4つ

PEP 8では、スペース4つを使ってインデントすることが推奨されます。これにより、コードの階層構造が明確になり、読みやすくなります。

誤った例:

def some_function():
  print("Hello, World!")

正しい例:

def some_function():
    print("Hello, World!")

行の長さ:79文字

行の長さを79文字以内に保つことで、コードは読みやすくなり、横スクロールの必要性が減ります。

誤った例:

def some_function(): print("This is a very long line of code that is definitely going to exceed the recommended limit of 79 characters")

正しい例:

def some_function():
    print("This is a very long line of code that is definitely going to "
          "exceed the recommended limit of 79 characters")

インポート:分離して書く

インポートはファイルの先頭に記述し、標準ライブラリ、サードパーティライブラリ、ローカルライブラリごとにグループを分けて、それぞれのグループを空行で区切ります。

誤った例:

import sys, os

正しい例:

import os
import sys

空白の使用

不要な空白は避け、コードを簡潔に保ちます。括弧の内側、カンマの後、演算子の前後に適切な空白を使用することが重要です。

誤った例:

spam( ham[ 1 ], { eggs: 2 } )

正しい例:

spam(ham[1], {eggs: 2})

コメント:有益であること

コメントはコードが何をするのかではなく、なぜそうするのかを説明すべきです。また、完全な文で記述し、読み手が理解しやすいようにすることが重要です。

誤った例:

# This function prints a message.
def print_message():
    print("Hello, World!")

正しい例:

def print_message():
    # This function demonstrates printing a simple message
    print("Hello, World!")

命名規則

クラス名はCapWords規則に従い、関数名や変数名はlowercase_with_underscoresを使用します。これにより、コード内での要素の種類を容易に区別できます。

クラス名:

class MyClass:
    pass

関数名と変数名:

def my_function():
    my_variable = 0
    return my_variable

式と文のスペース

演算子の前後に適切なスペースを使用し、コードをより読みやすくします。

誤った例:

x=1+2

正しい例:

x = 1 + 2

まとめ

ここまで、PEP8の基本的なルールをまとめました。ただし、特定のプロジェクトのルールやチームの合意がある場合は、それらを優先することが重要です。PEP 8はガイドラインであり、絶対的なルールではありません。主な目的は、コードの品質とコラボレーションの容易さを高めることにあります。

上部へスクロール