いいですね — 初心者向けに「コメント(コメント文)」をやさしく、例題を交えて詳しく説明します。読みやすくするために、目的→書き方→具体例→練習問題(解答付き)の流れで進めます。
コメントとは?
コメントはプログラムの中に書く「人間向けのメモ」です。Pythonでは # から行末までがコメントになります。コメントは実行時に無視され、プログラムの動作には影響しません。
# これはコメント(Python は無視します)
print("Hello") # ここもコメント(右側)
なぜコメントを書くのか(重要ポイント)
- 自分や他人が後でコードを読みやすくするため:書いた直後は分かっていても、時間が経つと意図を忘れます。
- 「なぜ」その方法を選んだかを残すため:同じ処理でも複数の書き方があるとき、理由を書いておくと親切。
- TODO・注意点を残すため:後で直すべき箇所や制約を書いておくと便利。
コメントの種類と使い方(例つき)
1) 単一行コメント(#)
最も基本的。説明を短く書くときに使います。
# リストの合計を計算する
nums = [1, 2, 3]
total = sum(nums)
2) 行末コメント(インラインコメント)
コードの右側に短く説明を書く。長くなりすぎないように注意。
x = 10 # 初期値は10(単位:個)
3) 複数行コメント(ハッシュを複数行)
Pythonには「複数行コメント」専用の構文はないため、各行に # を書くのが普通。
# ここから複数行の説明
# これは長い処理の仕組みや背景を説明するのに使う
# 必要なら改行して続ける
4) ドクストリング(docstring:"""...""" または '''...''')
関数やクラス、モジュールの説明を書くためのコメント。Pythonの help() で見られる正式なドキュメントになります。
def greet(name):
"""名前を受け取り 'Hello, <name>!' を返す関数。
引数:
name (str): あいさつする相手の名前
戻り値:
str: あいさつの文字列
"""
return f"Hello, {name}!"
※ ドクストリングはコメントというより「公式ドキュメント」の扱いです。関数の先頭に書くと help(greet) で見られます。
良いコメントを書くためのルール(初心者向けガイド)
- 「何をするか」より「なぜするか」を書く。
→ コードは「何をするか」は多くの場合自明なので、決定理由を書くと価値がある。 - 短く、正確に。 長文は分かりにくくなる。
- コードを変えたらコメントも更新する。 古いコメントは誤解のもと。
- 冗長なコメントは避ける。 例:「i += 1 # iを1増やす」は不要。
- TODO や FIXME タグを活用する(チーム開発で便利)。
# TODO: 実行時間を短くする(2025-11-04)
Python良い例・悪い例(比較で理解)
悪い例
# 変数を初期化する
x = 0
# 配列を作成
arr = [1, 2, 3]
# 足し算
y = a + b
Python→ コメントがコードのそのまま説明になっていて情報が少ない。
良い例
# ユーザー入力の合計値(負の値はエラーとして無視)
total = sum(v for v in inputs if v >= 0)
# arr は API が返す値をそのまま保持する(後で整形するため)
arr = [1, 2, 3]
# a と b は同じ単位(メートル)で渡されると仮定して加算する
y = a + b
Python→ なぜそうするのか、前提条件、注意点が書かれている。
具体的な小さな例題(ステップで学ぶ)
例題1:コメントを付けてみよう
次のコードにコメントを追加して、何をしているかと注意点を書いてください。
def average(nums):
if not nums:
return 0
return sum(nums) / len(nums)
Python模範解答:
def average(nums):
"""数値のリスト nums の平均を返す。
注意: nums が空の場合は 0 を返す(ゼロ除算を避けるため)。
"""
if not nums: # nums が空リストの場合のガード節
return 0
return sum(nums) / len(nums) # 合計を要素数で割って平均を計算
Python例題2:docstring を書こう
次の関数に docstring を追加してください。
def is_prime(n):
# 実装(素数判定)
...
Python模範解答(簡易)
def is_prime(n):
"""整数 n が素数なら True、そうでなければ False を返す。
引数:
n (int): 判定したい整数(n >= 2 を想定)
戻り値:
bool: 素数かどうか
"""
if n < 2:
return False
# 以降、省略: 実装...
Python練習問題 — 解答付き
- 次の行にコメントを追加して「なぜ」その処理が必要かを書いてください。
user_input = input("数値を入力してください: ")
value = int(user_input)
Python解答例:# ユーザー入力は文字列なので int に変換(数値以外の入力は例外になる点に注意)
- docstring を使って関数の使い方を書く:
def square(x):
return x * x
Python解答例:
def square(x):
"""x の二乗を返す関数。
引数:
x (int/float): 対象の数
戻り値:
int/float: x の二乗
"""
return x * x
Python- 次のコードのコメントは良いか悪いか?理由を書け。
i = 0 # カウントを0で初期化
Python解答:悪い。なぜ 0 なのか、何をカウントするのかが書かれていないため不十分。
補足:コメントで使う便利なタグ
TODO:将来やることを書くFIXME:直すべき不具合のヒントを書くNOTE:特記事項や注意点
これらはチームの開発ツールやIDEで検索しやすく便利です。
まとめ(初心者へのアドバイス)
- コメントは「コードの補足」で、特に『なぜ』を書こう。
- ドクストリングは関数やクラスの公式ドキュメントとして使う(
help()で見られます)。 - コードを修正したらコメントも更新。古いコメントは害になります。
- 過度に詳しく書きすぎない。必要な情報だけを短く・明確に。
