記事内にはプロモーションが含まれています

Pythonで複数行をまとめてコメントアウトする方法を解説

Pythonで複数行をまとめてコメントアウトする方法を解説 プログラミングの疑問解決

Pythonでコードを書いていると、デバッグのために一部の処理を一時的に実行しないようにしたり、古いコードを参考のために残しておいたりしたい場面がよくあります。

一行ずつ#を付けてコメントアウトするのは、行数が多くなると非常に面倒ですよね。

そんなとき、複数行を一度にコメントアウトする方法を知っていると、開発効率が格段に向上します。

この記事では、Pythonで複数行をまとめてコメントアウトするための、実用的で簡単な2つの方法を、それぞれのメリットや注意点とともにわかりやすく解説していきます。

【著者プロフィール&本記事の信頼性】
プロフィール
  • 著者は元エンジニア
  • 大手プログラミングスクールのWebディレクター兼 ライターを経験
  • 自らも地元密着型のプログラミングスクールを運営
プロフィール詳細はコチラ
当ブログ著者
当ブログ著者
忖度は一切なし!
本気で未経験からエンジニア転職を目指すなら、
日本最大級の比較サイト「マイベスト」で【4年連続人気NO.1】となった
RUNTEQ(ランテック)一択!
【RUNTEQの特徴】
✅受講生からの評判が驚くほど良い
✅学習はハードだが未経験とは思えないほど高いスキルが身に付く
挫折させない万全なサポート体制が用意されている
✅採用面接で担当者に刺さるレベルの高い「ポートフォリオ」を作成できる
✅給付金を使えば実質約13万円という格安料金で受講できる

\ もちろん勧誘行為は一切なし! 相談だけでもOK! /

【Pythonでまとめてコメントアウトする方法①】エディタのショートカットキー

最も簡単で、プロの開発現場でも一般的に使われているのが、使っているコードエディタ(VS CodeやPyCharmなど)が持つショートカット機能を利用する方法です。

ショートカットキーの使い方と解除

使い方は非常に直感的です。

  1. コメントアウトしたい複数行をマウスで選択します。
  2. 以下のショートカットキーを押します。
    • Windows / Linux: Ctrl + /
    • Mac: Cmd + /

これだけで、選択したすべての行の先頭に#が付き、まとめてコメントアウトできます。

# ショートカットキーを押す前のコード
print("処理A")
# print("デバッグ用の処理")
# print("これも今は不要")
print("処理B")

例えば、2行目と3行目を選択してショートカットキーを押すと、以下のようになります。

# ショートカットキーを押した後のコード
print("処理A")
# # print("デバッグ用の処理")
# # print("これも今は不要")
print("処理B")

コメントアウトを解除したい(元に戻したい)場合も、同じように対象の行を選択して、同じショートカットキー(Ctrl + / or Cmd + /)を押すだけです。

コメント化と非コメント化を簡単にトグル(切り替え)できます。

この方法のメリット

正しくコメントとして扱われる
各行が#で始まるため、Pythonの構文として完全に正しいコメントになります。
切り替えが簡単
同じキー操作でコメント化と解除を素早く切り替えられるため、デバッグ作業が非常にスムーズです。
ほぼすべてのエディタで共通
VS Code、PyCharm、Sublime Text、Atomなど、現代の主要なコードエディタのほとんどがこのショートカットに対応しています。

特別な理由がない限り、複数行のコメントアウトにはこの方法を使うのがベストプラクティスと言えるでしょう。

【Pythonでまとめてコメントアウトする方法②】三重クォート

もう一つの方法として、Pythonの「複数行文字列リテラル」を、ブロックコメントのように使うテクニックがあります。

三重クォートの使い方

コメントアウトしたい範囲の先頭を"""(ダブルクォート3つ)または'''(シングルクォート3つ)で囲み、末尾も同じもので閉じます。

print("処理Aは実行されます")

"""
print("この部分は実行されません")
a = 1 + 2
print(a)
"""

print("処理Bは実行されます")

実行結果は以下の通りです。

処理Aは実行されます
処理Bは実行されます

このように、"""で囲まれたブロック内のコードは実行されなくなります。

注意点は「厳密にはコメントではない」という点

この方法は手軽に見えますが、一つ重要な注意点があります。

それは、三重クォートで囲まれた部分は、技術的には「コメント」ではなく、「どこにも代入されていない単なる文字列」として扱われるという点です。

Pythonでは、この文字列は構文上は文字列リテラルとして扱われます。
処理系によっては最適化で除去されることもありますが、いずれにしても#を使った本当のコメントとは内部的な扱いが異なります。

特に、関数やクラス、モジュールの先頭にこの形式で記述すると、「ドキュメンテーション文字列(docstring)」という特殊な意味を持つようになります。

def sample_func():
  """
  この関数はサンプルです。
  引数はありません。
  """
  print("関数が実行されました")

# __doc__属性でドキュメンテーション文字列を参照できる
print(sample_func.__doc__)

実行結果は以下の通りです。


  この関数はサンプルです。
  引数はありません。
  

このように、本来の用途とは異なる使い方であるため、チーム開発の現場などでは混乱を招く可能性も否定できません。

どちらの方法を使うべき?

結論から言うと、基本的には常に「エディタのショートカットキー」を使うことを強く推奨します。

比較項目 エディタのショートカット (#) 三重クォート (""")
意味 正しいコメント 文字列リテラル(コメントではない)
動作 確実・安全 docstringになるなど副作用の可能性あり
使いやすさ ショートカットで一瞬 手入力で囲む必要がある
推奨度 ◎(非常に推奨) △(限定的な利用に留めるべき)

三重クォートによるコメントアウトは、Pythonの言語仕様をハックした一時的なテクニックと捉え、コードをバージョン管理システムに残す際などには、#を使った正式なコメントに修正するのが望ましいでしょう。

初心者がPythonでの複数行コメントアウトなどを効率的に学ぶには

複数行のコメントアウトをはじめとするPythonのスキルを効率的に習得するには、プログラミングスクールの活用が最も近道です。

スクールでスキルを高めることにより、今の仕事に活かしたり、副業として高単価な案件を受注できたりするだけでなく、Pythonエンジニアとして転職することも可能になります。

Pythonエンジニアは需要が非常に高いため、それに比例して年収も高くなる傾向にあります。
「今よりも年収を上げたい」「将来性の高い職種であるエンジニアへ転職したい」といった気持ちが強い場合は、プログラミングスクールでPythonの専門スキルを習得しつつ、ポートフォリオ支援や転職支援を受けてエンジニアへ転職する、という道を目指すのもよいでしょう。

なお、「Pythonに強く、受講生からの評判も良いプログラミングスクール」には、以下のようなところがあります。

その他、以下の記事でもPythonのおすすめスクールをまとめていますので、興味のある方は是非参考にしてください。

おすすめエージェント
当ブログ著者
当ブログ著者
\ 当ブログ著者厳選! /
\ 登録・利用はすべて完全無料! /
未経験からのエンジニア転職を成功させたい
ユニゾンキャリア
実務未経験エンジニアでも希望の転職先を見つけやすい!!

スキルを活かして副業で稼ぎたい
MidWorks(ミッドワークス)
週1~3日からできる副業案件多数!!

フリーランスとして高単価な案件を獲得したい
レバテックフリーランス
フリーランス案件の単価の高さは圧倒的!!