Pythonを学び始めてコードを書いていると、「これでいいのかな?」と不安になることがありますよね。文法的に正しくてプログラムが動けば十分だと思われがちですが、実はプログラミングには「作法」とも呼べる書き方のルールが存在します。
特にPythonは「読みやすさ」を重視した言語として知られていますが、それを支えているのが公式のコーディング規約である「PEP8」です。また、後から自分や他人がコードを見たときに、何をしているのかを一目で理解させるための「コメント」の書き方も非常に重要です。
この記事では、Pythonの作法の基本であるPEP8の概要と、誰が見ても分かりやすいコメントの記述方法について、初心者の方にもわかりやすく解説します。
Pythonの作法「PEP8」とは何か?
Pythonを勉強していると必ず耳にするのが「PEP8」という言葉です。これは簡単に言うと、Pythonの「公式スタイルガイド」のことです。
プログラミングの世界では、人によってコードの書き方の癖が異なります。例えば、空白の入れ方やインデントの幅などがバラバラだと、たとえ正しく動作するコードであっても、他人が読んだときに理解するのに時間がかかってしまいます。
そこで、「誰が書いても同じような、読みやすいコードになるようにしよう」と定められたのがPEP8です。
なぜ規約に従う必要があるのか
「動けばいいじゃないか」と思うかもしれませんが、コードは「書く時間よりも、読まれる時間の方が圧倒的に多い」と言われています。
PEP8のような規約に従って一貫性を保って書くことで、以下のようなメリットが得られます。
- 可読性の向上: 誰が見ても構造が分かりやすくなり、バグの発見や修正が早くなります。
- チーム開発の効率化: 複数人で開発する場合、書き方が統一されていれば、他人の書いたコードをスムーズに理解できます。
- 保守性の向上: 数ヶ月後の自分がコードを見たとき、「なぜここでこの処理をしたのか」を記憶し直す手間が省けます。
PEP8の代表的なルール例
PEP8では非常に細かいルールが決められていますが、初心者がまず意識したいポイントをいくつか紹介します。
- インデントはスペース4つ: タブではなく、1レベルにつきスペース4つを使うことが推奨されています。
- 1行の長さは最大79文字: 画面をスクロールせずに読みやすくするため、1行が長くなりすぎないようにします。
- 空行の使い分け: 関数やクラスの定義の間には2行の空行を置くなど、視覚的な区切りを設けます。
- import文の書き方: 複数のモジュールを読み込む場合は、カンマで区切らずに1行ずつ分けて書くことが推奨されています。
ただし、PEP8の冒頭には「一貫性にこだわりすぎるのは、狭い心の現れである」という趣旨の記述があります。規約を守ることは大切ですが、それに縛られすぎてかえって読みにくくなる場合は、自分の判断で柔軟に対応することも認められています。大切なのは、そのプロジェクト内での「一貫性」です。
Pythonにおけるコメントの書き方
コードの動作に影響を与えず、プログラマー向けのメモとして残せるのが「コメント」です。インタープリタ(Pythonを実行する仕組み)はコメントを無視するため、自由に記述できます。
なぜコメントが必要なのか
コメントの主な目的は、コードの「意図」を伝えることです。
- 設計上の選択を記録する: 「なぜこの方法を選んだのか」という理由を書いておくことで、後から変更を加える際の判断材料になります。
- 複雑なロジックの解説: パッと見て理解しにくい計算式や条件分岐がある場合、言葉で説明しておくことで理解を助けます。
- デバッグ時のメモ: プログラムが想定通りに動かないとき、一時的に特定の処理を無効化(コメントアウト)して原因を特定するのに役立ちます。
コメントの種類と使い分け
Pythonでは、主に以下の3つの方法でコメントを記述します。
1. ブロックコメント
行頭に `#` を書いて、その行全体をコメントにする方法です。一般的に、その後に続くコードについての説明を行うために使われます。
“`python # ユーザーの年齢を確認し、成人かどうかを判定する # 20歳以上を成人とする if age >= 20: print("成人です") “`
ブロックコメントを書く際は、コードと同じレベルまでインデントを下げることが基本です。また、`#` の後に半角スペースを1つ入れると、視認性が高まり読みやすくなります。
2. インラインコメント
コードと同じ行の右側に `#` を書いて記述する方法です。変数や簡単な操作方法を短く説明する場合に適しています。
“`python x = 10 # 基準となる初期値 “`
インラインコメントを記述する際のPEP8の作法では、コードと `#` の間に少なくとも2つのスペースを空けることが推奨されています。また、あまりに当たり前のこと(例:`x = 1 # xに1を代入`)を書きすぎると、かえってノイズとなり、コードの質を低下させるため注意が必要です。
3. 複数行のコメント(文字列リテラル)
Pythonには、厳密には「複数行コメント専用の記法」はありません。しかし、ダブルクォーテーションまたはシングルクォーテーションを3つ重ねて囲む(`"""` や `'''`)ことで、複数行の文字列を作成できます。
これを変数に代入せずに記述すると、実行時に無視されるため、実質的に複数行のコメントとして機能します。
“`python """ ここから下の処理は、 外部APIからデータを取得し、 形式を変換して保存する一連の流れです。 """ “`
ただし、これを使う際は「インデント」に十分注意してください。インデントがずれているとエラーの原因になります。
docstring(ドキュメンテーション文字列)について
先ほどの3つ目の方法(`"""` で囲む形式)を、モジュール、関数、クラス、メソッドの定義の直後に記述することを「docstring」と呼びます。
これは単なるメモではなく、その関数が「何を目的とし、どのような引数を受け取り、何を返すのか」という仕様を記述するための特別な作法です。docstringを適切に記述しておけば、ドキュメント生成ツールを使って自動的に仕様書を作成することも可能です。
実践的なコメントの作法と注意点
ルールを知っていることと、使いこなすことは違います。ここでは、より「上達」するためのコメントの書き方のコツを紹介します。
「書きすぎ」に注意する
初心者の方は、すべての行にコメントを書きがちですが、これは避けるべきです。 「コードの目的が明らかであれば、コメントは必要ない」というのが基本です。むしろ、コメントが多すぎると本質的なコードが見えなくなり、可読性が落ちてしまいます。
コードと矛盾させない
最も危険なのは、「コードの内容とコメントの内容が食い違っていること」です。 コードを修正した際、コメントの更新を忘れると、後から見た人はどちらが正しいのか混乱します。不正確なコメントがあるくらいなら、コメントがない方がマシだと言われるほどです。コードを変更したときは、必ずセットでコメントも最新の状態に更新しましょう。
誰が読んでも明快に書く
コメントは、自分以外の人が読んでも理解できる言葉で書きましょう。 また、もしあなたのコードが世界中のエンジニアに読まれる可能性があるプロジェクトであれば、コメントを英語で書くことが推奨されています。
まとめ
Pythonのコードをきれいに書くための作法は、単なる形式的なルールではなく、「他者への思いやり」のようなものです。
- PEP8に従って、インデントや行の長さを統一し、一貫性を保つ。
- ブロックコメントで処理の意図を伝え、インラインコメントで簡潔な補足を添える。
- docstringを活用して、関数の仕様を明確にする。
- 最新の状態を保ち、過剰な記述を避ける。
最初からすべてを完璧に守るのは大変ですが、まずは「スペース4つのインデント」と「意味のあるコメントを添えること」から始めてみてください。読みやすいコードが書けるようになれば、あなたのプログラミングスキルは一段上のステージへと進むはずです。
ピックアップ記事



