Python3のコメント記述は正式には「#」の1種類

Python

はじめに

プログラムにコメント文を入れると作った本人が後で見たとき、あるいは人様に見せたとき、理解しやすいプログラムとなります。Pythonでのコメント文記述方法を丁寧に解説します。

Python3では、コメント記述はインラインコメントブロックコメントともに#を使います。
これはPythonのStyle Guideという公式サイトに書いてあるPython記述の為の情報です。

PEP 8 — Style Guide for Python Code – python.org

インラインコメント
その行の途中にコメント文をはさむ方法です。

JavaScriptというプログラミング言語で説明します。

console.log("猫が2匹います");	/* コンソールに表示 */

/* コンソールに表示 */ の部分は、コメントです。プログラム実行とは関係ありません。左側の console.log(“猫が2匹います”); の部分は、プログラムとして実行します。

ブロックコメント
その行全体がコメント扱いとなる書き方です。

// console.log("猫が2匹います");

// より右側は、全てコメントです。よってこの行全てがコメント文となり、プログラム実行対象となりません。

ただし、Pythonの場合#によるコメント記述だけでは不便な点もあるため、複数行コメントの方法として’’’”””による複数行文字列を利用したコメント文の記述も一般に利用されています。

本記事では、公式サイトpython.orgでも紹介されている正式なコメント文記述方法複数行文字列を使った一般によく利用されるコメント文記述の2種類について解説します。

Pythonのコメント文の記述方法(これが正式)

半角の#を使います。
一般的なIDE(統合開発環境)でもインラインコメント、ブロックコメントに限らずこちらを使っているようです。

使い方としては、2通り。

プログラムの途中にコメント文を記述(インラインコメント)

#より右側がコメント文扱いとなります。

city = "080010"  # 都市ID

city = “080010” は実行対象、# 都市IDはコメント文です。

行全体をコメント文にする(ブロックコメント)

行の先頭に#を記述します。
以下1行目はコメント文です。

# 今日の年月日を取得
today = datetime.date.today()

複数行のコメントを’’’と”””で代用する方法

上記、正式なコメント文の場合、複数行にわたるコメント文を作りたいとき、例えばこうします。

# カウントダウンスクリプト
#   指定した日までのカウントダウンを行う
#   作成日:2020/06/02

プログラマとしては、先頭にいちいち#を打ち込んでいくのは面倒です。よって、一般には、複数行の文字列を表す’’’(シングルクォーテーション3つ)または“””(ダブルクォーテーション3つ)を使ってコメントとしたい部分をくくる方法があります。

'''
カウントダウンスクリプト
  指定した日までのカウントダウンを行う
  作成日:2020/06/02
'''

あるいは

"""
カウントダウンスクリプト
  指定した日までのカウントダウンを行う
  作成日:2020/06/02
"""

上記例は、コメント記述として一般によく見られる記述です。
ただし、これはあくまで文字列です。よってプログラムとして認識されます。このことを認識して使うのであれば問題ないかと思います。便利なのでどんどん利用したいところですが、注意点が1つあります。

文字列ブロックコメント利用の注意点

’’’か”””の文字列ブロックを使ってコメント文にしたい場合、直前のインデント(字下げ位置)に合わせる必要があります
理由は簡単で、”’も”””もコメント文ではなく文字列というれっきとしたプログラムだからです。
Pythonでは、インデントは重要な意味を持ちます。

以下はエラーです。(2行目以下は直前のfor文のブロックのためインデントが必要です)

for i in range(10):
'''
  0から9まで表示する
'''
    print(i)

これはOKです。

for i in range(10):
    '''
      0から9まで表示する
    '''
    print(i)

ちなみに実際には、複数行文字列はこんな感じで使います。(変数messageに改行を含む文字列を代入している)

message = '''朝食:なっとう
昼食:ハンバーグ
夕食:トマト'''
print(message)

表示イメージ

朝食:なっとう
昼食:ハンバーグ
夕食:トマト

コメント文(#)における前後のスペース挿入の決まり(ぜひご一読ください)

以下の公式サイトの内容です。(E261、E262、E265の部分)

PEP 8 — Style Guide for Python Code – python.org

インラインコメント#の手前には、少なくとも2文字以上の半角スペースが必要である

例)これはダメ

nenrei = input() # 年齢を入力

【理由】#の左側に1文字しか半角スペースが無い

例)これはOK

nenrei = input()  # 年齢を入力
print("年齢" + nenrei)     # 年齢を表示

【理由】#の左側に2文字以上半角スペースがある(1行目:2つ、2行目:5つ)

インラインコメント、ブロックコメントともに「# 」から始める(#+半角スペース)

コメントの開始は、#記号ですが、その右側には必ず半角スペース1文字を入れてからコメント文を開始する、という意味です。

例)これはNG

#今日の日付を取得する
today = datetime.date.today()

【理由】#のすぐ右にコメント文がある

例)これはOK

# 今日の日付を取得する
today = datetime.date.today()

【理由】#とコメント文との間に半角スペースが1文字ある

まあ、あくまで公式サイトの推奨する記述例ですので、コメント文は#が書いてあればスペースがあっても無くてもプログラムは動作します!(笑)

以上、Pythonでのコメント文記述方法『Python3のコメント記述は正式には「#」の1種類でした。

コメント

タイトルとURLをコピーしました