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はガイドラインであり、絶対的なルールではありません。主な目的は、コードの品質とコラボレーションの容易さを高めることにあります。