Python | 文の区切りと改行ルール

Python Python
スポンサーリンク

コメントはコードを読みやすくする超重要ツール。ここでは「何を」「どう書くか」「よくある間違い」「練習問題(解答付き)」まで、やさしく・たっぷり例を交えて説明します。


1. コメントって何? なぜ必要?

コメントは「人間向けのメモ」です。プログラム実行時は無視されるので、プログラムの動きは変わりません。使い方の例:

  • 何をしようとしてるか(目的)
  • 変数や関数の意味(意図)
  • 後で直すべき点やTODO
  • デバッグのため一時的に行を無効にする(コメントアウト)

コメントを書くことで、自分や他人が後でコードを見た時に理解しやすくなります。


2. Pythonでの書き方(基本)

単一行コメント:#

行の先頭でも途中でも # を書けば、その行の # 以降はコメントになります。

# これはコメント:このプログラムは挨拶を表示します
greeting = "こんにちは"  # 変数に文字列を代入
print(greeting)  # 画面に表示
Python

出力:

こんにちは

補足:行の途中でのコメント

a = 10  # aは10という値
b = 20  # bは20
# 次の行で合計を出す
print(a + b)  # => 30
Python

複数行の説明(ドキュメンテーション文字列)

複数行に渡る説明を書きたい時、"""(ダブルクオート3つ)や ''' を使うことがあります。これは本来は文字列リテラルで、関数やモジュールの先頭に置くと「ドキュメンテーション文字列(docstring)」として使えます。通常の複数行コメントとしても使われますが、注意点は後述。

例(関数の説明):

def add(a, b):
    """
    2つの数を足して返す関数
    引数:
      a: 数値1
      b: 数値2
    返り値:
      a + b
    """
    return a + b
Python

この docstring は help(add)add.__doc__ で参照できます。


3. コメントの使い分け(実務的なコツ)

  • 短い説明# を使う(1行コメント)
  • 関数やモジュールの説明 → docstring(""")を使う
  • 一時的にコードを止めたい → コメントアウト(#
  • TODOやFIXME を残す → # TODO: 本番対応が必要 のように標準化しておくと便利

4. よくある間違い・注意点

  1. コメントが古くなる
    コードを変更してもコメントを更新しないと、逆に混乱します。コメントはコードと一緒に保守する習慣を。
  2. コメントが多すぎて見づらい
    「なぜ」書いたかを端的に。冗長すぎるコメントは逆に読みにくい。
  3. コメントの位置に注意
    行継続(\)の途中など、一部の場所ではコメントが入れられないことがあります。
# NG例:行継続の直後にコメントは書けない
total = 1 + 2 + 3 + \
# コメント
4 + 5
Python
  1. docstring と通常のコメントの違い
    docstring はプログラムにとって意味のある文字列(関数の説明等)として扱われるので、単に「コメントとして」大量に使うとメモリに残る場合があります。関数説明はOK、単なるメモは # を使う方が明確です。

5. 例題で学ぶ(実行例つき)

例題1:コメントで意味を付ける

# ユーザーからの入力を取得して、名前を表示する簡単なプログラム
name = input("名前を入力してください: ")  # ユーザー名を受け取る
print("ようこそ、" + name + "さん!")  # 挨拶を表示
Python

解説:# で「何をしているか」を説明。コード自体は短いけれど、コメントがあると目的が明確。


例題2:コメントアウトで一時停止(デバッグ)

n = 100
# n = n * 2  # 本番では2倍するが、今は試しに無効にする
print(n)
Python

解説:n = n * 2 の行を実行したくないときに # をつける。後で戻すのが簡単。


例題3:関数に docstring をつける

def divide(a, b):
    """
    aをbで割って結果を返す。
    bが0の場合は None を返す。
    """
    if b == 0:
        return None
    return a / b

print(divide.__doc__)  # ドキュメントを表示
print(divide(10, 2))   # => 5.0
Python

出力:

aをbで割って結果を返す。
bが0の場合は None を返す。

5.0

解説:""" の中身が関数の説明になり、外部から参照できます。


6. 練習問題 — 解答・解説付き

問題1(初級)

次のコードにコメントをつけて、何をしているか説明しなさい。

x = 5
y = 3
z = x * y
print(z)
Python

解答(例)

x = 5  # xに5を代入
y = 3  # yに3を代入
z = x * y  # xとyを掛け合わせてzに代入
print(z)  # zを出力(結果は15)
Python

解説:変数の意味と計算の目的を書けばOK。


問題2(中級)

次の関数に docstring を追加し、引数と戻り値の説明を書きなさい。

def is_even(n):
    return n % 2 == 0
Python

解答

def is_even(n):
    """
    整数nが偶数ならTrue、奇数ならFalseを返す。
    引数:
      n (int): 判定したい整数
    戻り値:
      bool: 偶数ならTrue、そうでなければFalse
    """
    return n % 2 == 0
Python

解説:関数の目的、引数の型、返り値を簡潔に書くと親切。


問題3(応用)

以下のプログラムは、ある処理を一時的に止めたいときにコメントアウトを使っています。どの行をコメントアウトしているか答え、コメントアウトを外すと何が起きるか説明しなさい。

count = 10
# count = count - 1
print(count)
Python

解答

  • コメントアウトしている行は count = count - 1
  • コメントアウトを外すと count9 になり、print9 を出力する。

解説:実行を止めているだけなので、外すとその処理が再び有効になります。


7. さらに一歩:コメントのベストプラクティス

  • 目的を書く:どうやって実装するか(実装の詳細)よりも「なぜ」これをしているのかを書くと価値が高い。
  • 最新に保つ:コードを変えたらコメントを更新する。古いコメントは害になる。
  • 命名を優先:良い変数名・関数名にすればコメントは減らせる(# i = 0 # カウンタ より counter = 0 の方が親切)。
  • TODO を残すならチケットと連携# TODO: xxxx と書く習慣は良いが、対応時に必ず消す。

まとめ

  • # は行コメント、""" は関数やモジュールの説明(docstring)に使う。
  • コメントは人間のためのメモ。コードを読みやすく・保守しやすくする。
  • コメントは正確に、短く、最新に保つのがコツ。
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました