Pythonでのコメントの書き方まとめ!はじめてのPython

Pythonの勉強を始めました。コメントの書き方がわからないので調べてみました。

Pythonでコメントを書いてみる

Pythonではコメントは「ハッシュマーク (#)」と半角スペースから始まります。(半角スペースはなくてもコメントを書くことはできますがPEP8 (Python Enhancement Proposalの略) で推奨されています)
ハッシュマークで始めたら行末までがコメントとなります。

コメントの構文

# コメントを書く

サンプルコード

# Hello worldを表示
print("Hello world")

インラインコメントの書き方

コードと同じラインでコメントを書く時も同じように「ハッシュマーク (#)」と半角スペースを使います。

print("Hello world") # Hello worldを表示

ブロックコメントの書き方

複数行にわたってコメントを書く場合も特殊な書き方はなく「ハッシュマーク (#)」と半角スペースで書いていきます。

# ブロックラインの例
# Hello worldを表示
print("Hello world")

#の数を2つにしたり(##)することは推奨されていません。

ドキュメンテーション文字列 (別名 "docstrings")

作成した関数にそのメソッドが何をしているのか説明を残す場合に def の行のあとにドキュメンテーション文字列が使われます。
ドキュメンテーション文字列はトリプルクウォート(''')またはトリプルダブルクウォート(""")を使用して作成することができます。

def multiplier(a, b):
    """2つの数値を受け取り、2つの値を掛けた値を返す"""
    return a*b

インデントを合わさないとエラー(expected an indented block)になります。

# インデントを合わさないとエラー
def multiplier(a, b):
"""2つの数値を受け取り、2つの値を掛けた値を返す"""
    return a*b

改行することも可能です。

# 改行もできる
def multiplier(a, b):
    '''2つの数値を受け取り、
2つの値を掛けた値を返す'''
    return a*b

ちなみにすべての公開されているモジュールや関数、クラス、メソッドには docstringを書く必要があるようです。
ハッシュ「#」を使って書いている方もいるようでした。以下で説明する特徴があるので、使い分けが必要そうです。

__doc__で文字列を取得

関数、モジュール、クラス、またはメソッドの定義の直後に文字列リテラルが存在する場合は、「 __doc__ 」属性としてオブジェクトに関連付けられます。そのため「 __doc__ 」でドキュメンテーション文字列を取得することができます。

def multiplier(a, b):
    '''2つの数値を受け取り、
2つの値を掛けた値を返す'''
    return a*b

print(multiplier.__doc__)

結果

2つの数値を受け取り、
2つの値を掛けた値を返す

他にも__doc__の使い方はありそうでしたが奥が深そうだったので割愛します。

おわり

PEP8にはコメントは120パーセント日本語意外に読まれることが確信できる場合意外は英語で書くように書かれてますね。ダブルクウォーテーションで "コメント" としても良しとしている方もいたのですが、一般的には使われていなさそうですね。

参考

How To Write Comments in Python 3
Python Docstrings (With Examples) - Programiz
https://pep8-ja.readthedocs.io/ja/latest/

Python

Posted by Nakamoto