カテゴリ: Python 更新日: 2026/01/13

Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール

Pythonのコーディング規約(PEP8)とは?読みやすいコードを書くための基本ルール
Pythonのコーディング規約(PEP8)とは?読みやすいコードを書くための基本ルール

先生と生徒の会話形式で理解しよう

生徒

「Pythonの勉強をしていると、PEP8っていう言葉をよく見かけるんですが、これは何なんですか?」

先生

「PEP8は、Pythonのコーディング規約のことです。Pythonのコードを書くときに、読みやすく、わかりやすくするためのルールなんですよ。」

生徒

「ルールって難しそうですね…全部覚えないといけないんですか?」

先生

「最初は全部覚えなくても大丈夫です。まずはよく使う基本ルールを一緒に学んでいきましょう。」

1. PEP8とは?Python公式のスタイルガイド

1. PEP8とは?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つで統一

2. インデントはスペース4つで統一
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. 変数名はわかりやすく、小文字+アンダースコアで

3. 変数名はわかりやすく、小文字+アンダースコアで
3. 変数名はわかりやすく、小文字+アンダースコアで

変数(へんすう)とは、情報を一時的に保存しておく「名前付きの箱」のようなものです。PEP8では、変数名はuser_nametotal_priceのように、小文字とアンダースコア(_)を使ってわかりやすい名前にすることが推奨されています。


user_name = "たろう"
total_price = 1500

アルファベット1文字だけの変数(例:xa)は、初心者のうちは避けましょう。意味のある名前にすることで、後から見ても内容がすぐにわかるようになります。

4. 行の長さは79文字以内に

4. 行の長さは79文字以内に
4. 行の長さは79文字以内に

1行のコードが長すぎると、横にスクロールしないと読めなくなり、読みづらくなってしまいます。PEP8では、1行は最大79文字までにすることが推奨されています。

もし長くなりそうなときは、行を途中で切って次の行に続けて書く方法を使いましょう。


message = "これはとても長いメッセージで、1行に収まりきらないので、" \
          "途中で改行しています。"

5. 関数とクラスの書き方

5. 関数とクラスの書き方
5. 関数とクラスの書き方

関数(かんすう)は、何かをまとめて実行する「処理のかたまり」です。関数名は小文字+アンダースコアで書きます。クラス(クラス)は、データと動作をまとめたものですが、ここでは名前の付け方だけ覚えておきましょう。

PEP8では、関数名と変数名は小文字+アンダースコア(例:send_email)で、クラス名は単語の頭を大文字にした「キャメルケース(CamelCase)」で書きます(例:EmailSender)。


def send_email():
    print("メールを送信しました")

class EmailSender:
    pass

6. コメントの使い方

6. コメントの使い方
6. コメントの使い方

コメントは、コードの中に説明を書いておくためのものです。人間が読むためのもので、プログラムの動作には関係ありません。コメントを書くときは、行の先頭に#(シャープ)を付けます。


# これはコメントです
print("こんにちは")  # この行でもコメントが書けます

PEP8では、コメントの前後にスペースを入れて、読みやすくすることが推奨されています。

7. 空行の使い方

7. 空行の使い方
7. 空行の使い方

コードを読みやすくするためには、適度に空行(からぎょう)を入れることも大切です。関数の前後や、意味の区切りがあるところでは、空行を1行入れるようにしましょう。


def greet():
    print("こんにちは")

def farewell():
    print("さようなら")

8. PEP8に従うメリット

8. PEP8に従うメリット
8. PEP8に従うメリット

PEP8に従ってコードを書くと、次のようなメリットがあります。

  • 他の人が読みやすくなる
  • 自分でも後から見返して理解しやすい
  • エラーを見つけやすくなる
  • チームでの開発でもスムーズに連携できる

最初は難しく感じるかもしれませんが、慣れてくると自然と守れるようになります。

9. コーディング規約チェックツール「flake8」

9. コーディング規約チェックツール「flake8」
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を意識して、少しずつきれいなコードを書けるように練習していきます!」

先生

「それで大丈夫です。毎日少しずつルールを意識するだけでも、自然にコーディングスキルが上達していきますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PythonでPEP8って何ですか?初心者でも理解できますか?

PEP8とは、Pythonのコーディング規約のことで、コードを読みやすく、わかりやすく書くためのルールです。初心者でも基本ルールから順番に学べば理解できます。

インデントはタブではなくスペースを使う理由は何ですか?

Pythonではインデントが構文の一部になっているため、タブとスペースを混在させるとエラーの原因になります。PEP8ではスペース四つで統一することが推奨されています。
カテゴリの一覧へ
新着記事
New1
Flask
Flaskのログレベル(DEBUG/INFO/WARNING/ERROR)を使い分ける方法を完全ガイド!
New2
Python
Pythonのfrozensetとは?ミュータブルなsetとの違いをわかりやすく解説
New3
Python
Pythonでセットを活用してデータをフィルタリングする方法!初心者でもわかるセットの基本と使い方
New4
Python
Pythonの辞書操作まとめ!初心者が知っておくべき便利ワザ集
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策
No.4
Java&Spring記事人気No4
Django
Djangoモデル入門|初心者が最初に知るべきORMの基本操作
No.5
Java&Spring記事人気No5
Flask
Flaskで非同期処理を成功させるベストプラクティス集|初心者でも失敗しない考え方
No.6
Java&Spring記事人気No6
Python
Pythonのリストを分割する方法を完全ガイド!初心者でもわかるスライス・split・itertoolsの使い方
No.7
Java&Spring記事人気No7
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.8
Java&Spring記事人気No8
Flask
Flaskのログをファイルに保存する方法!初心者でもわかる設定手順を徹底解説