Pythonのコメントの書き方を徹底解説!行コメント・インライン・ブロックコメントの使い分け
Pythonのコメントとは、プログラム内に記述するものの、インタプリタによって実行されないテキスト行のことです。コメントはデバッグ時に問題箇所を特定したり、コードの内容を説明したりするために使われます。コメントはハッシュ記号(#)から始まります。
Pythonでコメントを書く方法
コメントは、Pythonに実行してほしくないメモやコードを示すために使います。たとえば、複雑な処理を何時間もかけて書いている場合、各行のコードが何をしているのかを忘れないように、コメントを数行残しておくと便利です。
コメントを書くことには多くのメリットがあります。大規模なPythonプログラムを扱う場合、コメントがあれば処理の流れを把握しやすくなります。また、チームでの共同開発においては、コメントによって互いのコードへの理解が深まり、コミュニケーションミスを防ぐことにもつながります。
どんな開発者でも、コードを書く際にコメントを入れる場面には必ず出会います。
では、Pythonではどのようにコードにコメントを付けるのでしょうか?他のプログラミング言語と同様、Pythonもコメント機能をサポートしています。このガイドでは、Pythonにおけるコメントの書き方について詳しく解説します。
Pythonのコメントとは?
Pythonのコメントとは、プログラム内に記述されるものの、実行はされないテキスト行のことです。コメントはハッシュ記号(#)を使って宣言します。コメントは新しい行に書いても、既存のコード行の末尾に続けて書いても構いません。
コメントは、コードの動作を説明したり、テスト目的で使用されたりします。
以下は、Pythonの1行コメントの例です。
# これはサンプルコメントです
# 記号がコメントであることを示しています。コメント本文と # の間にスペースを入れていますが、これは必須ではありません。ただし、スペースを入れることでコメントが読みやすくなります。
この行は、コードを実行してもコンパイラ(インタプリタ)には無視されます。コメントは人間が読むためのものであり、プログラムが実行するためのものではありません。
コメントは、そのコメントが参照しているコードと同じインデント階層に記述するのがルールです。たとえば、if文の中のコードについて説明するコメントを書く場合は、コードと同じようにコメントもインデントします。
Pythonコメントの実例
たとえばforループを書いていて、後で自分がその仕組みを思い出せるようにしたいとしましょう。そんなときは、いくつかコメントを残しておくとよいでしょう。後日コードを見返したときに、自分のメモを読んですぐに理解できます。
Pythonのforループでは、次のようなコメントを書けます。
# students変数を文字列の配列として定義
students = ["Nathan", "Alyssa", "Matthew", "Malcolm", "Alexis", "Katie"]
# students配列の各要素をループし、名前を出力する
for s in students:
print("Student Name: ", s)
このコメントのおかげで、コードの目的がひと目でわかり、処理の流れを追いやすくなります。
次に、コメントのインデント構造を示す例を見てみましょう。以下のプログラムは、2つのPython配列をループ処理し、各生徒のテスト結果を「合格(pass)」か「不合格(fail)」として判定します。合否は、生徒の数値スコアに基づいて決定されます。
# 生徒名の配列を定義 students = ["Nathan", "Alyssa", "Matthew", "Malcolm", "Alexis", "Katie"] # 生徒の成績(数値)の配列を定義 numericalGrades = [55, 72, 64, 86, 86, 59] # students配列の全生徒をループ処理 for s in range(0, len(students)): # 生徒の数値成績が60以上かどうかを判定 if numericalGrades[s] >= 60: # テストに合格したことを示すメッセージを出力 print(students[s], "passed their test.") else: # テストに不合格だったことを示すメッセージを出力 print(students[s], "failed their test.")
このプログラムは、生徒のリストとその成績を受け取り、リストを順番に処理しながら、各生徒がテストに合格したか不合格だったかを判定します。
上の例では、コメントが参照先のコードと同じインデント階層に書かれていることがわかります。たとえばif文について説明する部分では、コメントもコードと同様にインデントされています。
このような1行コメントを書くことで、コードの作者自身にとっても、また後からプログラムを読む人にとっても、可読性の高いコードになります。
Pythonのインラインコメント
インラインコメントとは、コードと同じ行に、コードの後に続けて書くコメントのことです。インラインコメントは、そのコード行の目的や仕組みを説明するために使うべきです。
インラインコメントの構文は次のとおりです。
print(students) # 変数"students"を出力する
インラインコメントは、コードの複雑な部分を説明する必要があるときに役立ちます。また、「将来、特定の行のコードがどう動くのか忘れてしまうかもしれない」という場合にも有効です。
さらに、チームで作業しており、特定の行について全員が理解していることを確認したい場合にも役立ちます。
ただし、他の種類のコメントと異なり、インラインコメントは必要最小限にとどめるべきです。インラインコメントが多すぎると、かえってプログラムが読みにくくなってしまうからです。
Pythonの複数行コメント(ブロックコメント)
Pythonの複数行コメント(ブロックコメント)は、より複雑なコードや、目的がひと目ではわかりにくいコードを説明するために使います。たとえば、外部ライブラリを使用した特殊な関数を説明する際などにブロックコメントを活用できます。
ブロックコメントは複数行にわたるコメントであり、その下にある一部またはすべてのコードに適用されます。他のコメントと同様、ブロックコメントも、説明対象のコードと同じインデント階層に記述します。
複数行コメントの例
以下は、Pythonのsort()関数を説明する複数行コメントの例です。
# sortStudents関数は、引数を"student"変数経由で受け取ります。 # この関数は、各生徒の名前の長さを単純に返します。sortStudents関数は、 # 後述のsort()関数内で参照され、"students"配列の各要素に対して # 実行されます。 def sortStudents(student): return len(student) students = ["Nathan", "Alyssa", "Matthew", "Malcolm", "Alexis", "Katie"] students.sort(key=sortStudents)
このコメントは複数行にわたり、その下に書かれたコードの目的を説明しています。
このコードを理解できる開発者もいるかもしれませんが、他のプログラマーにとっては、その仕組みや意図がわかりにくいこともあります。ブロックコメントを使えば、一連の処理全体を丁寧に説明でき、目的がひと目では伝わりにくいあらゆるコードの理解を助けることができます。
まとめ
以上が、Pythonでコメントを書く方法です!コメントを活用すれば、自分自身を含むすべての人にとって読みやすいプログラムを作れます。
質の高いコメントは、コードを書きながら進捗を管理するのに役立ちます。後からコードの意味がわからなくなったときに参照できる記録としても機能します。
ちょっとしたチャレンジをしてみませんか?自分のプログラムの冒頭に、以下の内容を含むブロックコメントを書いてみてください。
- あなたの名前
- ファイルを作成した日付
- ファイル名
- ファイルの目的
そのコードを実行してみましょう。コメントのせいでプログラムが動かなければ、どこかに誤りがあります。問題なく実行できればおめでとうございます!コメントの書き方をマスターしました。
このチュートリアルでは、Pythonにおける通常のコメント、インラインコメント、ブロックコメントの書き方を学びました。テスト目的でコメントを使う開発者もいることにも触れました。これであなたも、Pythonのプロのようにコメントを書けるはずです!
Pythonプログラミング言語を本格的に習得したい方は、おすすめのPython講座、書籍、学習リソースをまとめた「Pythonの学び方」ガイドもぜひチェックしてみてください。
-
Pythonインタープリターとは?仕組みと初心者向けオンライン環境を徹底解説
Pythonは学びやすいプログラミング言語として知られています。その理由のひとつが、自分のマシンに正しいバージョンのPythonをインストールしなくても、オンラインで利用できるPythonインタープリターが数多く存在する点です。本記事では、Pythonインタープリターの仕組みについて解説し、初心者にも使いやすい人気のオンラインインタープリターをご紹介します。 Pythonプログラムはどのように実行されるのか? PythonはJavaと同様に、純粋なインタプリタ言語ともコンパイラ言語とも分類できず、両方の性質を併せ持っています。 ここでいう「コンパイル」とは、特定のプラットフォームに依存し
-
Pythonのコメントの書き方を徹底解説!1行コメントから複数行コメントまで
Pythonでは、文字列リテラルの中に含まれていないハッシュ記号(#)からコメントが始まります。#以降、その行の終わりまでのすべての文字はコメントとして扱われ、Pythonインタープリターによって完全に無視されます。コメントの基本的な例#!/usr/bin/python # 最初のコメント print(Hello, Python!) # 2つ目のコメント実行結果上記のコードを実行すると、次のような結果が出力されます。Hello, Python! コメントは、ステートメントや式と同じ行の末尾に記述することもできます。name = Madisetti # これもコメントです複数行にわたってコメント