プログラミングを行う上で、必要になるのがコメントです。

初心者の方やソースコードが短いものであれば、その重要性をあまり感じることはありませんが、大規模なシステムになる程、コメントは非常に重要になってきます。

今回はPythonのコメントについて、詳しく解説していきます。

コメントについて

まずはコメントについて、解説していきます。

コメントはソースコードの中に書くことができ、プログラムとしては実行されないものです。

コメントを書くメリットについて

コメントを書くメリットとしては、メンテナンス性の向上です。

ベテランプログラマーになっても、バグが発生した時や仕様を変更したい場合は仕様書とソースコードを直接見ることになります。

仕様書の完成度が低い場合、ソースコードを中心に調査することがあります。

その際に変数1つとっても名前から推測できない物や、複雑な関数の処理などはコメントが無ければ、ベテランプログラマーでも解析に時間がかかってしまいます。

しかしコメントがあれば、現状の調査を簡単に行うことができる為、メンテンナンス性と改造などを行う時の生産性も向上します。

コメントをドキュメントとする使用例

まず最初に注意しなければいけないのが、コメントは非常に重要ですが、仕様書は別途必ず制作しなければいけません。

その上で更に適格なコメントがあることで、誰が見ても理解がしやすいソースコードになります。

コメントをドキュメント的に記述する際のポイントは、変数と関数へのコメントです。

また変数や関数のコメントを書く以外にも現在のソースコードをコメントアウトして、動作を確認する場合にも使用されます。

ソースコードをコメントアウトすることで、再び動作を元に戻したい場合に、コメントアウトを解除するだけで戻すことができます。

またソースコードをコメントアウトとして残しておくことで、以前はどの様なことをしていたかを記録として残すこともできます。

特に変数や関数のコメントを書くポイントについて、下記に詳しく解説していきます。

変数へのコメント

コメントの基本と言っても良いのが、変数へのコメントです。

コメントを記述する目的は、非常にシンプルで変数に何を格納するかを記述しておくことです。

働く環境にもよりますが、システム開発はある程度の規模になると複数のプログラマーやシステムエンジニアが集まって開発作業を行います。

変数を定義した本人は意図がある為、変数にコメントがない場合でもその場では困りませんが、他のプログラマーが変数を見た際に、何の為の変数かわからないのは、非常に困ってしまいます。

またご自身が書いたプログラムでも数年後に見た時には、忘れてしまっていることもあります。

変数へのコメントは、プログラマーを目指すのであれば、必ず習慣にすることが重要です。

関数へのコメント

変数と同様に関数へのコメントも非常に重要です。

コメントの内容は処理の流れ、関数の目的、引数の内容等がコメント内容になります。

Pythonの関数へのコメントを記述する際に、記述方法を守ることでドックストリング(関数・クラスを記載した文のこと)として扱うことも可能になります。

コメントの書き方について

ここまででコメントの重要性やコメントを書くメリットについては、ご理解頂けたと思います。

それでは、実際にコメントを書く方法について、解説をしていきます。

行末までのコメントの書き方

まずは行末までコメント記述する際の方法について、解説していきます。

行末までのコメントは下記になります。


#コメント

#以降の行末までがコメントになります。

これは変数などを書く際によく使用します。

また短いコメントを書く際にもおすすめです。

複数行のコメントの書き方

次は複数行に渡ってコメントを書く方法です。

上記でご紹介した行末までのコメントでも、一行ずつ#を書くことで複数行のコメントにすることもできますが、数十行になると面倒になります。

そこで複数行のコメントを書く時は、下記方法で記述します。


'''

コメント

コメント

コメント

'''

または

"""

コメント

コメント

コメント

"""

「'''」(シングルクォーテーションを3つ並べる)から次の「'''」までの間がコメントになります。

または「"""」(ダブルクォーテーションを3つ並べる)から「"""」まででも同じになります。

コメント文の使用例

それでは実際にコメント文の使用例をご紹介していきます。

まずは下記にコメントなしで、簡単なプログラムを書いてみます。

Pythonをある程度学習している方は、解読にチャレンジして頂ければと思います。

まだPythonを学習して日が浅い方も意味が分からなくても、一通り眺めてみるだけでも見て頂ければ、コメントの価値がわかります。


tmp1 = ["llo","rld"]

tmp2 = ["wo","he"]

tmp3 = tmp2[1] + tmp1[0]

tmp4 = tmp2[0] + tmp1[1]

print(tmp3 + " " + tmp4)

リスト配列とprint関数しか使用していないので、既に学習している方は実行結果がわかったと思います。

もちろん内容的にも通常行わない様な処理ですが、最後まで内容を見てみないと何がしたいか分からないと思います。

続いて同じ処理をコメントを記述したものが、下記になります。


#hello worldをリスト配列に入れて、出力する

#he「llo」とwo「rld」をtmp1リスト配列に格納する

tmp1 = ["llo","rld"]


#「he」lloと「wo」rldをtmp2リスト配列に格納する

tmp2 = ["wo","he"]


#リスト配列の要素を組み合わせて「hello」をtmp3に格納する

tmp3 = tmp2[1] + tmp1[0]


#リスト配列の要素を組み合わせて「world」をtmp4に格納する

tmp4 = tmp2[0] + tmp1[1]

#tmp3と空白とtmp4を合わせて「hello world」を出力する

print(tmp3 + " " + tmp4)
'''
実行結果
hello world
'''

コメントからもわかるように、リスト配列を使って「hello world」を出力するだけのプログラムです。
実際コメントがあるだけで、随分わかりやすくなったと思います。
これが複雑なプログラムになると、更にコメントの重要性が高くなります。

日本語コメントについて

コメントを書く際に注意が必要になるのが、日本語のコメントを書く場合です。

日本語コメントを書く場合の注意点について、解説していきます。

日本語コメントの注意点

文字コードの関係上、日本語を記述してしまうとエラーが発生してしまいます。

エラーを回避する為には、pythonファイルの先頭に文字コードを指定する必要があります。

記述方法は、下記になります。


# -*- coding: utf-8 -*-

コメントの#が先頭にありますが、これは特例で文字コードを指定する場合はコメントとしての意味ではなくなります。

日本語コメントのエラー例

実際に日本語コメントでエラーが発生する場合は、下記のようなエラーが発生します。


SyntaxError: Non-UTF-8 code starting with '\x83' in file 実行ファイルパスと実行ファイル名 on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

上記の様なエラーが発生した場合は、文字コード指定を忘れていないか確認することをおすすめします。

コメントアウトのショートカットについて

Pythonはメモ帳など初期のエディタでもプログラムを書くことが出来ます。

しかし特別な事情がなければ、別途エディタを準備することをおすすめします。

ソースコードの記述誤りがあれば、色を付けて知らせてくれたりします。

また今回のコメントについて、ショートカットを使うだけで、簡単にコメントアウトすることが可能です。

コメントアウトのショートカットは使用するエディタによって違う為、確認が必要です。

ここではPythonエディタで人気のAtomとVSCodeのコメントアウトショートカットをご紹介します。

Atomのコメントアウトショートカット

AtomのコメントアウトショートカットはWindowsの場合の場合はコメントアウトした場所を選択して「Ctrl + /」でコメントアウトすることが可能です。

Macの場合は「Command + /」で選択した部分をコメントアウトすることが可能です。

VSCodeのコメントアウトショートカット

実はVSCodeもAtomと同じくコメントアウトショートカットは、Windowsの場合の場合はコメントアウトした場所を選択して「Ctrl + /」でコメントアウトすることが可能です。

Macの場合は「Command + /」で選択した部分をコメントアウトすることが可能です。

他のエディタでもこのショートカットで活用できるものもあります。

まとめ

今回はPythonのコメントについて、解説してきましたが、いかがでしたか。

コメントは今回解説させて頂いたメンテナンス性などの向上以外にも、自分がプログラミングする際にも整理しながら記述することも出来ます。

大規模なシステム開発にアサインされる場合以外でも、普段からちょっとしたプログラムを開発する場合から、コメントを記述するように習慣を持つことをおすすめします。

DMM WEWBCAMPについて

DMM WEBCAMPは3ヶ月間で未経験から即戦力エンジニアを育成する転職保障付きのプログラミングスクールです。1ヶ月でプログラミング・Webデザインを学ぶ通い放題の「ビジネス教養コース」も展開しています。

DMM WEBCAMPを運営する株式会社インフラトップ では、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

3月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のDMM WEBCAMP(旧WEBCAMP PRO)。
2月受入枠は満員となっております。3月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWEBデザイン・プログラミングを学びたい方はこちら!

おすすめの記事