Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
生徒
「Pythonの勉強をしていると、PEP8っていう言葉をよく見かけるんですが、これは何なんですか?」
先生
「PEP8は、Pythonのコーディング規約のことです。Pythonのコードを書くときに、読みやすく、わかりやすくするためのルールなんですよ。」
生徒
「ルールって難しそうですね…全部覚えないといけないんですか?」
先生
「最初は全部覚えなくても大丈夫です。まずはよく使う基本ルールを一緒に学んでいきましょう。」
1. PEP8とは?Python公式のスタイルガイド
PEP8(ペップエイト)は、Pythonでプログラムを書くときの「書き方のルール(スタイルガイド)」です。コードは動けば良いだけでなく、他の人や未来の自分が読んで迷わないことがとても大切。PEP8は「どんな見た目にそろえると読みやすいか」を決めた、Pythonコミュニティで共有されている指針です。
たとえば、同じ日本語でも、ていねいに整えた文字のほうが読みやすいですよね。コードも同じで、名前の付け方や空白の置き方、並べ方が整っているだけで理解がぐっと楽になります。ルールに従うことは、ミスを減らし、チーム開発でも意思疎通をスムーズにする小さな約束事だと思ってください。
初心者の方は、まず「読みやすさをそろえるための決まりごと」と捉えれば十分です。厳密に暗記しなくても、迷ったときに選ぶ基準があるだけで、コードは自然と整っていきます。
# 例:同じ処理でも、読みやすさに差が出ます
# 読みにくい例(何をしているか直感的に伝わりにくい)
def f(n):
print("合計:",n+1)
# 読みやすい例(名前と並びが整っていて意図が伝わる)
def show_total(count):
total = count + 1
print("合計:", total)
このように、PEP8は「正しさ」だけでなく「伝わる書き方」を助けてくれる道しるべです。ルールに沿うことで、コードは文章のように読みやすくなり、結果として学習や開発が続けやすくなります。
2. インデントはスペース4つで統一
Pythonでは、インデント(字下げ)が文法そのものです。ブロック(関数やifの中身)を表すときは、1段=スペース4つがPEP8の基本。2段なら8つ、3段なら12というように、階層ごとに4つずつ増やしてそろえます。
def say_hello(name):
# ← ここは4つ(関数の中身)
if name: # if の条件
print("こんにちは!", name) # ← さらに4つ進んで合計8つ(if の中身)
else:
print("こんにちは!") # ← こちらも8つでそろえる
タブ(Tabキー)ではなくスペースを使うのが原則です。エディタの設定で「Tabキーを押したらスペース4つを挿入」にしておくと安心。タブとスペースを混ぜると、見た目はそろっていても実際の幅が違い、IndentationErrorの原因になります。
# NG例:タブとスペースが混在(見た目は似ていてもエラーになりやすい)
def add(a, b):
\tprint(a + b) # ← ここがタブ、下はスペース...のような混在は避ける
# OK例:すべてスペース4つで統一
def add(a, b):
print(a + b)
ポイントは「同じ階層は同じ幅」。迷ったら、すべてスペース4つに統一しておけば大丈夫です。既存コードでずれていると感じたら、エディタの「空白を表示」「タブをスペースに変換」などの機能を使って整えましょう。
3. 変数名はわかりやすく、小文字+アンダースコアで
変数(へんすう)とは、情報を一時的に保存しておく「名前付きの箱」のようなものです。PEP8では、変数名はuser_nameやtotal_priceのように、小文字とアンダースコア(_)を使ってわかりやすい名前にすることが推奨されています。
user_name = "たろう"
total_price = 1500
アルファベット1文字だけの変数(例:xやa)は、初心者のうちは避けましょう。意味のある名前にすることで、後から見ても内容がすぐにわかるようになります。
4. 行の長さは79文字以内に
1行のコードが長すぎると、横にスクロールしないと読めなくなり、読みづらくなってしまいます。PEP8では、1行は最大79文字までにすることが推奨されています。
もし長くなりそうなときは、行を途中で切って次の行に続けて書く方法を使いましょう。
message = "これはとても長いメッセージで、1行に収まりきらないので、" \
"途中で改行しています。"
5. 関数とクラスの書き方
関数(かんすう)は、何かをまとめて実行する「処理のかたまり」です。関数名は小文字+アンダースコアで書きます。クラス(クラス)は、データと動作をまとめたものですが、ここでは名前の付け方だけ覚えておきましょう。
PEP8では、関数名と変数名は小文字+アンダースコア(例:send_email)で、クラス名は単語の頭を大文字にした「キャメルケース(CamelCase)」で書きます(例:EmailSender)。
def send_email():
print("メールを送信しました")
class EmailSender:
pass
6. コメントの使い方
コメントは、コードの中に説明を書いておくためのものです。人間が読むためのもので、プログラムの動作には関係ありません。コメントを書くときは、行の先頭に#(シャープ)を付けます。
# これはコメントです
print("こんにちは") # この行でもコメントが書けます
PEP8では、コメントの前後にスペースを入れて、読みやすくすることが推奨されています。
7. 空行の使い方
コードを読みやすくするためには、適度に空行(からぎょう)を入れることも大切です。関数の前後や、意味の区切りがあるところでは、空行を1行入れるようにしましょう。
def greet():
print("こんにちは")
def farewell():
print("さようなら")
8. PEP8に従うメリット
PEP8に従ってコードを書くと、次のようなメリットがあります。
- 他の人が読みやすくなる
- 自分でも後から見返して理解しやすい
- エラーを見つけやすくなる
- チームでの開発でもスムーズに連携できる
最初は難しく感じるかもしれませんが、慣れてくると自然と守れるようになります。
9. コーディング規約チェックツール「flake8」
自分のコードがPEP8に沿っているか確認するには、「flake8(フレークエイト)」というツールが便利です。インストールすると、自動的にコードのチェックをしてくれます。
ただし、初心者のうちはルールを覚えることを優先して、ツールの使い方は後から学んでも大丈夫です。
まとめ
PEP8の基本ルールの振り返り
今回の記事では、Pythonのコーディング規約であるPEP8について学びました。PEP8は、Pythonでプログラムを書くときに読みやすく、わかりやすく、メンテナンスしやすいコードを書くためのルールです。まずインデントはスペース四つで統一し、タブを使わないこと、変数名や関数名は小文字+アンダースコアでわかりやすく付けること、行の長さは79文字以内に収めることなどが基本です。
また、関数やクラスの命名規則も重要です。関数は小文字+アンダースコアで、クラスはキャメルケース(CamelCase)で書くことが推奨されています。コメントはコードの理解を助けるために書き、空行を使うことでコードの区切りを明確にできます。これらのルールを守ることで、自分だけでなくチーム全体で読みやすいコードを書けるようになります。
サンプルプログラムで確認
def greet_user(user_name):
# ユーザーに挨拶を表示する関数
print(f"こんにちは、{user_name}さん!")
class UserManager:
# ユーザー情報を管理するクラス
pass
user_name = "たろう"
greet_user(user_name)
このサンプルプログラムでは、PEP8に従ったインデント、変数名、関数名、クラス名、コメントの使い方を確認できます。読みやすさやコードの整理が意識されていることがわかります。
PEP8のメリットの復習
PEP8に従うことで、他の人がコードを読んでも理解しやすくなり、後から自分が見返すときも整理されたコードになっています。エラーやバグの発見がしやすくなり、チーム開発でもスムーズに共同作業が可能です。さらに、flake8などのツールを使うことで、自分の書いたコードがルールに沿っているか自動で確認できます。
生徒
「今日はPEP8について色々学びました。インデントや変数名、関数名のルールがあるんですね。最初はちょっと大変そうですが、理解するとコードが読みやすくなるんですね。」
先生
「そうですね。最初は覚えることが多く感じますが、慣れてくると自然に守れるようになります。特にインデント、変数名、関数名、クラス名は毎回意識して書くと、コードの品質が格段に上がります。」
生徒
「コメントや空行も重要なんですね。コードを書くときに、読みやすさを意識するだけで、他の人も自分も理解しやすくなることが分かりました。」
先生
「その通りです。PEP8は読みやすいコードを書くためのガイドラインですから、最初から完璧に守ろうとせず、少しずつ意識して書くことが大切です。そして、flake8などのツールを活用して、自分のコードをチェックするとさらに安心です。」
生徒
「なるほど、ツールを使うと間違いもすぐに分かるんですね。これからはPEP8を意識して、少しずつきれいなコードを書けるように練習していきます!」
先生
「それで大丈夫です。毎日少しずつルールを意識するだけでも、自然にコーディングスキルが上達していきますよ。」