プログラムを開発していると、記述したコードに関する補足の説明が重要となる場面が多々あります。
特に、チーム開発では不特定多数のメンバーでコードを共有しあう必要があるため、第三者が見た際に処理内容を理解しやすいように補足することは、コードの可読性や保守性を高める大事な要素の1つとなります。
こうしたケースで活躍するのが、コメントアウトという記述方法です。
今回は、Pythonでコメントアウトする方法を詳しく解説していきたいと思います。
Pythonのコメントアウトとは?
コメントアウトとは、コードの一部を特殊な記号で囲うことにより、プログラムの実行に影響を与えないテキスト (コメント) を記述する方法のことを言います。
Pythonに限らず、多くのプログラミング言語で使用可能な機能の1つで、コードの可読性や保守性を高める上で重要な役割を持ちます。
コメントアウトしたコードは、プログラム実行時に処理することなくスルーされるため、主に以下のような理由で使用されています。
- 処理内容や意図の補足、修正理由の説明
- コードの一時的な無効化(デバッグ時など)
- 古いコードの保存
特に活用されるケースが多いのは、処理内容を説明するために記述する補足コメントとしての利用方法です。
チーム開発では、記述したコードの内容を第三者が読み取らなければいけない場面も多いため、コメントを残すことで可読性が向上するメリットがあります。
コメントアウトの書き方は?
それでは、実際にコメントアウトする方法を見ていきましょう。
一行のコメントアウトの書き方は?
特定の一行のみをコメントアウトする場合は、対象とする行の先頭に「 # (シャープ) 」 を付けることでコメント化できます。
# このテキストはコメント化されます
print(“Hello World”) # 行の途中からもコメントアウトできます# 以降のコードは文末まで全てコメントと見なされるため、上記の例のように行の途中からコメントアウトすることは可能ですが、間の一部のみを囲ってコメントアウトすることはできません。
一行のみのコメントアウトは、特定の処理や変数などに対して簡単な補足を説明したい場合に向いています。
複数行のコメントアウトの書き方は?
Pythonでは、複数行のコメントアウトをするための専用の記法は用意されていません。
そのため、複数行に渡るコメントを記述したい場合は、各行の先頭に # を付けてコメントアウトするのが一般的です。
# 一行目のコメント
# 二行目のコメント
# 三行目のコメント
print(“Hello World”)後述のトリプルクォートを使用して記述する方法もありますが、この記法で書いたコードは厳密にはコメントでなく文字列として扱われるため、注意が必要です。
ドキュメンテーション文字列とは?
Pythonには、ドキュメンテーション文字列 (docstring) と呼ばれる機能があります。
ドキュメンテーション文字列とは、関数・クラス・モジュールに対する説明を記述するための特殊な文字列のことを言います。
Python で公式にサポートされている機能であり、記述したコードは __doc属性__に文字列として格納され、print関数や help関数で出力することができます。
def sample_func():
"""
sample_text
line1
line2
line3
"""
# print関数で出力
print(sample_func.__doc__)
# help関数で出力
help(sample_func) sample_text
line1
line2
line3
Help on function sample_func in module __main__:
sample_func()
sample_text
line1
line2
line3トリプルクォートの使い方は?
ドキュメンテーション文字列を記述する際は、対象のコードを 「”’ (シングルクォート3つ)」、もしくは 「””” (ダブルクォート3つ)」 で囲います。
# シングルクォートの場合
def sample_func1():
'''
sample_text1
line1
line2
line3
'''
# ダブルクォートの場合
def sample_func2():
"""
sample_text2
line1
line2
line3
"""記述したコードは文字列として扱われるため、プログラミングの実行結果に影響を与えることはありませんが、データを保持するためのメモリは確保されます。
擬似的な複数行コメントとして使用されることもありますが、コメントアウトしたコードの分だけメモリを消費する点に注意が必要です。
ショートカットキーでコメントアウトするには?
コメントアウトは、ショートカットキーを使用することで効率的に行うことができます。
ただし、使用する環境やツールによって対応するキーが異なるため、使用の際は事前に確認しておきましょう。
ここでは、代表的なツールのショートカットキーを紹介します。
VS Codeの場合
【選択行のコメントアウト】
- Windows / Linux … Ctrl + /
- Mac … Command + /
選択した行に対して、一括で「#」の付け外しができます。
【ブロックコメントアウト】
- Windows … Shift + Alt + A
- Linux … Ctrl + Shift + A
- Mac … Shift + option + A
選択した行をブロックコメント(複数行コメント) 化します。
Pythonの場合はトリプルクォートで対象の行を囲います。
PyCharmの場合
【選択行のコメントアウト】
- Windows / Linux … Ctrl + /
- Mac … Command + /
【ブロックコメントアウト】
- Windows / Linux … Ctrl + Shift + /
- Mac … Command + Shift + /
通常のコメントアウトに関しては、VS Codeと同じショートカットが採用されているため、移行しても違和感なく使用することができます。
ただし、ブロックコメントアウトの方法は異なるため、注意が必要です。
ブラウザ環境の場合
Google Colab や Jupyter Notebook などのブラウザベースの環境でも、同様の操作が可能となっています。
ただし、上述したツールのようにブロックコメントアウトするショートカットキーはないため、通常のコメントアウトで対応するか、手動でトリプルクォートを記述する必要があります。
- Windows / Linux … Ctrl + /
- Mac … Command + /
また、日本語入力状態だと動作しない場合があるため、英数入力に切り替えてから実行するようにすると効率的です。
コメントアウトがエラーになったときの対処法は?
コメントアウトしたコードそのものがエラーとなることはありませんが、記述時のミスによっては、対象のコードがコメントと認識されずにエラーが発生する場合があります。
1つ目のケースは、トリプルクォート(もしくはシングルクォート) の閉じ忘れにより、以降のコードが全て文字列と認識されエラーが発生する例です。
"""
コード終わりの閉じ忘れ
print("Hello")ドキュメンテーション文字列でコメントを記述する際は、コードの終わりを忘れずに 「”’」 もしくは 「”””」 で閉じるようにしましょう。
2つ目のケースは、インデント崩れによってエラーが発生する例です。
if True:
# サンプルコメント
print(“Hello”)Pythonでは、if文などの構文を使用する際にインデントによって各ブロックを区別するため、コメントの位置によっては構文エラーになる場合があります。
コメントアウトをする際は、他のコードと同様にコメントもインデントを揃えて記述するようにしましょう。
まとめ
分かりやすいコメントを記述する方法を身に付けておくことで、自身だけでなく他者が見ても理解しやすいような、質の高いコードを記述できるようになります。
まずは、基礎となるコメントアウトの記述方法をしっかりと理解し、実際の開発でも利用できるようにしておきましょう。
Pythonの勉強方法は?
書籍やインターネットで学習する方法があります。昨今では、YouTubeなどの動画サイトやエンジニアのコミュニティサイトなども充実していて多くの情報が手に入ります。
そして、より効率的に知識・スキルを習得するには、知識をつけながら実際に手を動かしてみるなど、インプットとアウトプットを繰り返していくことが重要です。特に独学の場合は、有識者に質問ができたりフィードバックをもらえるような環境があると、理解度が深まるでしょう。
ただ、Pythonに限らず、ITスキルを身につける際、どうしても課題にぶつかってしまうことはありますよね。特に独学だと、わからない部分をプロに質問できる機会を確保しにくく、モチベーションが続きにくいという側面があります。独学でモチベーションを維持する自信がない人にはプログラミングスクールという手もあります。費用は掛かりますが、その分スキルを身につけやすいです。しっかりと知識・スキルを習得して実践に活かしたいという人はプログラミングスクールがおすすめです。
プログラミングスクールならテックマニアがおすすめ!
ITスキル需要の高まりとともにプログラミングスクールも増えました。しかし、どのスクールに通うべきか迷ってしまう人もいるでしょう。そんな方にはテックマニアをおすすめします!これまで多くのITエンジニアを育成・輩出してきたテックマニアでもプログラミングスクールを開講しています。
<テックマニアの特徴>
・たしかな育成実績と親身な教育 ~セカンドキャリアを全力支援~
・講師が現役エンジニア ~“本当”の開発ノウハウを直に学べる~
・専属講師が学習を徹底サポート ~「わからない」を徹底解決~
・実務ベースでスキルを習得 ~実践的な凝縮カリキュラム~
このような特徴を持つテックマニアはITエンジニアのスタートラインとして最適です。
話を聞きたい・詳しく知りたいという方はこちらからお気軽にお問い合わせください。