Python コメント、コメントアウトの方法

Pythonでコメントを記述したり、不要なコードをコメントアウトするには「#」を使用します。

コメントの書き方

ハッシュ文字(#)から始まり、同じ行の終端までがコメントになります。
#ここから行末までコメント
print('Hello World')

インラインコメント

インラインコメントはコードと同じ行に記述するコメントで、主に同一行で何をしているかを説明するために記述します。

ハッシュ文字(#)からコメントとなるため、コードの後ろに # をつけてコメントを記述します。

print('Hello World')#ここから行末までコメント

ブロックコメント

ブロックコメントとは、複数行をまとめてコメントアウトすることです。

Pythonにはブロックコメント用の構文が無いため、行頭に # を記述します。

#ブロックコメント
#ブロックコメント
#ブロックコメント

三連引用符を利用したブロックコメント

Python では 三連引用符 ("""または''') を使用すると複数行にまたがる文字列リテラルを定義できます。これをコメントとして利用します。
"""
ブロックコメント
ブロックコメント
ブロックコメント
"""

三連引用符を使用したコメントは、一般的に「モジュール、関数、クラス、メソッド」を説明するためのドキュメンテーション文字列(Documentation Strings)で使用します。

def complex(real=0.0, imag=0.0):
    """複素数を返す。

    Keyword arguments:
    real -- 実数部 (default 0.0)
    imag -- 虚部 (default 0.0)
    """
    if imag == 0.0 and real == 0.0:
        return complex_zero
    ...

コーディング規約 PEP8

PEP8 は Python の標準ライブラリ実装で採用されているコーディング規約で、コメントについてのルールも明記されています。

ハッシュ文字(#)と コメント の間に スペース を入れる

ハッシュ文字(#)と コメント の間に スペース を 1つ以上入れます。 インデントを入れたいときは 2つ以上のスペースを入れます。

OK例

# コメント
# コメント
#  コメント
#  コメント

NG例

#コメント

インラインコメントのとき、ハッシュ文字(#)の前にスペースを2つ以上入れる

コードとハッシュ文字(#)の間に2つ以上のスペース、ハッシュ文字(#)のあとにスペースを1つ入れます。

OK例

print('Hello World')  # コメント
print('Hello World')   # コメント
print('Hello World')    # コメント
print('Hello World')     # コメント

NG例

print('Hello World')# コメント
print('Hello World') # コメント
print('Hello World')  #コメント

1行の docstring(ドキュメンテーション文字列)

1行だけのドキュメンテーション文字列は、三連引用符 ("""または''') も同じ行に記述します。

OK例

"""コメント"""

NG例

"""
コメント
"""
"""コメント
"""

ハッシュ文字(#)は1つだけ

このルールは PEP8 では特に触れられていませんが、flake8 などのツールで構文チェックを行うとエラーとなります。

OK例

# コメント

NG例

## コメント

参考資料

検証環境