Python のコメントアウトと行の継続

コメントアウトと行の継続

Python におけるコメントアウト、およびプログラムコードの行を継続するための特殊な文字列について説明します。

コメントアウト

Python でプログラムをコメントアウトするには # 文字を使用します。# 文字を使用すると、Python はその文字が現れたところから行末までを無視します。コメントは、ブロックコメントとインラインコメントに分類され、行の先頭からのコメントをブロックコメント、途中からのコメントをインラインコメントと呼びます。また、他の言語のように複数行をコメントアウトする /* ... */ のような文字は Python にはありません。

# ブロックコメント
print(xxx)  # インラインコメント
Python のコメントアウト

ただし、文字列の中に # 文字が含まれる場合は、コメントアウトする文字ではなくただの # 文字として扱われます。

>>> print("No comment: quotes make the # harmless.")
No comment: quotes make the # harmless.
(コメントではない。クォートを使うと#は無力になる。)
Python のコメントアウト

PEP8 の推奨ルール

Python のコーディングルールをまとめたドキュメントである PEP8 の中には # 文字を使ったコメントについても推奨のルールが記載されています。

PEP8 のルールを遵守しなくとも文法上のエラーになるわけではありません。ただし、組織やプロジェクト、チームなどの複数人体制で開発を行う場合、コーディング規約として PEP8 に従った方が良いでしょう。

文とコメントの間は少なくとも 2 つのスペースを置くようにします。3 つ以上でも問題ありませんが、コメントの位置を揃えるために不要なスペースは除去します。

# No:
a = 1 # comment

# Yes:
a = 1  # comment

a = 1      # comment
xyz = 100  # comment
Python のコメントアウト (PEP8 推奨ルール)

インラインコメントは # 文字と、スペース 1 つから始めます。# 文字のあとにスペースが無くても 2 つ以上あってもいけません。

# No:
a = 1  #comment
a = 1  #  comment

# Yes:
a = 1  # comment
Python のコメントアウト (PEP8 推奨ルール)

ブロックコメントはコメント内でインデントされたテキストでない限り # 文字と、スペース 1 つから始めます。# 文字のあとにはスペースが 1 つ以上必要です。

# No:
#comment

# Yes:
# comment
#     indented comment
Python のコメントアウト (PEP8 推奨ルール)

先頭の # 文字は 1 つだけにします。

# No:
## comment

# Yes:
# comment
Python のコメントアウト (PEP8 推奨ルール)

行の継続

Python でプログラムコードの行を継続するには、継続文字の \ を使用します。行末に \ を加えると、Python はまだ行替えをしていないものと判断します。

例えば、一般的な継続文字を使用せずに長い文字列を作る場合は以下のようなコードになります。

>>> alphabet = ''
>>> alphabet += 'abcdefg'
>>> alphabet += 'hijklmnop'
>>> alphabet += 'qrstuv'
>>> alphabet += 'wxyz'
長い文字列を作るサンプル

しかし、継続文字を使うと以下のように記述することができます。

>>> alphabet = 'abcdefg' + \
...            'hijklmnop' + \
...            'qrstuv' + \
...            'wxyz'
継続文字を使った長い文字列を作るサンプル

Python 全体の仕様を体系的にまとめたページは、Python 入門を参照してください。

Category:
プログラミング
公開日:
更新日:
Pageviews:
10
Shares:
1
Tag:
Python
hatebu icon
hatebu