Pythonにブロックコメントは無いぞ

Pythonにブロックコメントはありません。
より詳細に言うと、Pythonには複数行コメントを行う構文がありません。

Google検索で、「Python ブロックコメント」と調べると出てくるほとんどのサイトでは、ブロックコメント風に複数行コメントを書く方法として、シングル(ダブル)クォーテーション( ‘ )を三つ並べる書き方を紹介されています。

しかし、これが本来複数行コメントを行うための構文ではないことはもちろん、そもそもdocstring用の構文であることはあまり記述されていないように思います。

Pythonの ”’ はdocstring用の構文

docstring(ドキュメントストリング)とは、Pythonにおいて関数やクラスの直下に書かれる文字列のことです。
help関数を用いることで、docstringの内容を表示してくれます。

例えば下記のコードを実行してみてください。

def test():
'''
これはテスト用の関数です。
テスト関数の説明をここに書きます。
テストなので中身は特にないです。
'''
print("Hello, World!!")

def main():
help(test)

if __name__ == "__main__":
main()

結果として以下のような出力がされます。

Help on function test in module __main__:

test()
これはテスト用の関数です。
テスト関数の説明をここに書きます。
テストなので中身は特にないです。

以上の様に、本来クォーテーション三つで囲んだコメントは、関数などの説明のために書かれるドキュメントになります。

そのため実際の開発において、安易に通常のコメントをこの方法で書いてしまうと、本来の目的として書かれたdocstringと、コメント用のdocstringが混ざってしまい、混乱を招いてしまいます。

個人開発の場面では、困るのは自分なので特に問題ないとは思います。
しかし、開発規模が大きくなるのらば、何かしらルールを決めておくのがいいと思います。
「通常コメントは # を用いたコメントアウトを使い、クォーテーション3つで囲まない」といったルールなど、クォーテーション三つで囲んで記述する docstring についてはルールを決めるのが良いと思います。

参考サイト

あとがき

今回の内容は上記のサイトを参考に記述しています。

Pythonはユーザー数も多い言語だと思います。

しかし、上記の参考サイトは「Python 複数行コメント」や「Python ブロックコメント」などの検索クエリでは出にくいサイトです。

実際あまり支障が出ないので、Pythonにも複数行コメント(ブロックコメント)かけるじゃんって勘違いしてしまう人も多い気がします。

そのため、このクエリに引っかかってくれて、誤解する人が少しでも減るといいなと軽く期待しています。