カテゴリ: Python 更新日: 2025/11/07

Pythonの関数のドキュメント(docstring)の書き方!PEP 257のガイドライン

Pythonの関数のドキュメント(docstring)の書き方!PEP 257のガイドライン
Pythonの関数のドキュメント(docstring)の書き方!PEP 257のガイドライン

先生と生徒の会話形式で理解しよう

生徒

「先生、Pythonの関数を書くときにドキュメントを書くってよく聞くんですが、ドキュメントって何ですか?」

先生

「関数の説明を書くことをドキュメントと言います。Pythonでは特に『docstring(ドックストリング)』という形で書きます。関数の使い方や何をするかをプログラムの中に書いておくんですよ。」

生徒

「なんで関数の説明をプログラムの中に書く必要があるんですか?」

先生

「関数を作った本人も、時間が経つと内容を忘れることがありますし、他の人がその関数を使うときにも説明があると分かりやすいです。ドキュメントを書くことは、コードをわかりやすくし、ミスも減らすためにとても大事な作業です。」

生徒

「なるほど。Pythonのdocstringには決まりみたいなものがあるって聞いたのですが?」

先生

「はい、それが『PEP 257』という公式のガイドラインです。docstringの書き方のルールを決めて、みんなが同じように理解しやすくなるようにしています。」

生徒

「それなら安心ですね!具体的にどんな書き方があるんですか?」

先生

「これから詳しく説明していきますね!」

1. docstring(ドックストリング)とは?

1. docstring(ドックストリング)とは?
1. docstring(ドックストリング)とは?

docstringとは、Pythonの関数やクラス、モジュールの最初に書く文字列で、そのオブジェクトの説明を記述するものです。三重のダブルクォーテーション"""やシングルクォーテーション'''で囲んで書きます。

例えば、関数の役割や引数、返り値について説明を書くことが多いです。

2. docstringを書く理由とメリット

2. docstringを書く理由とメリット
2. docstringを書く理由とメリット
  • コードを読みやすくする:関数が何をするのか、すぐわかります。
  • 保守・管理が楽になる:時間が経っても使い方を忘れにくいです。
  • 自動ドキュメント生成に役立つ:ツールを使って説明書を自動作成できます。
  • チーム開発での情報共有がスムーズになる:誰でも理解しやすいコードになります。

3. PEP 257とは?Pythonのdocstringの公式ルール

3. PEP 257とは?Pythonのdocstringの公式ルール
3. PEP 257とは?Pythonのdocstringの公式ルール

PEPとは「Python Enhancement Proposal(Python改善提案)」の略で、PEP 257はdocstringの書き方に関する提案書です。Pythonの公式ドキュメントでも推奨されているルールがまとめられています。

このガイドラインに従うことで、誰が読んでもわかりやすいdocstringが書けるようになります。

4. PEP 257の基本ルールと書き方のポイント

4. PEP 257の基本ルールと書き方のポイント
4. PEP 257の基本ルールと書き方のポイント
  • 1行目は関数の簡単な説明:短く簡潔に。例えば「数値の階乗を計算する関数」など。
  • 1行目のあとに空行を入れる:説明が複数行ある場合は空行で区切ります。
  • 説明はできるだけわかりやすく書く:専門用語はなるべく使わず、初心者にも理解できる言葉を選びましょう。
  • 引数や戻り値の説明を書く:どんな値を受け取り、どんな値を返すかを明記します。
  • 長すぎないようにする:1行の長さは79文字以内が目安です。
  • 三重のダブルクォーテーション"""で囲む:シングルクォーテーション3つでも良いですが、ダブルクォーテーションが一般的です。

5. docstringの具体的な書き方例

5. docstringの具体的な書き方例
5. docstringの具体的な書き方例

簡単な関数にdocstringを書いてみましょう。


def factorial(n):
    """
    数値nの階乗を計算して返す関数。

    Parameters:
        n (int): 階乗を計算したい非負の整数

    Returns:
        int: nの階乗の結果
    """
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

このように、関数の役割、引数(Parameters)、返り値(Returns)を順番に説明しています。

6. docstringの使い方:help()関数で確認する方法

6. docstringの使い方:help()関数で確認する方法
6. docstringの使い方:help()関数で確認する方法

Pythonにはhelp()という便利な関数があり、docstringを書いておくと使い方の説明を画面に表示してくれます。


help(factorial)

Help on function factorial in module __main__:

factorial(n)
    数値nの階乗を計算して返す関数。

    Parameters:
        n (int): 階乗を計算したい非負の整数

    Returns:
        int: nの階乗の結果

プログラムを書いた後に自分や他人が見返すとき、とても役立ちます。

7. docstringを書くときのコツと注意点

7. docstringを書くときのコツと注意点
7. docstringを書くときのコツと注意点
  • 具体的かつ簡潔に書く:何をする関数かが一目でわかるように。
  • コードの変更に合わせてdocstringも更新する:説明と実装がずれると意味がありません。
  • 読み手を意識する:プログラム初心者や他のチームメンバーが理解しやすい文章を心がける。
  • 慣れないうちはシンプルな説明から始める:完璧を目指しすぎず、まずは書く習慣をつけることが大切です。

8. まとめ(※別記事で作成)

8. まとめ(※別記事で作成)
8. まとめ(※別記事で作成)

この記事ではPythonの関数docstringの重要性とPEP 257に基づく基本的な書き方を紹介しました。初心者の方もぜひ実際に書いてみて、プログラムをわかりやすく管理しましょう。

カテゴリの一覧へ
新着記事
New1
Flask
PythonのFlaskアプリにOAuth2認証を導入する基本ステップまとめ!初心者でもわかる外部サービス連携の仕組み
New2
Python
PythonのNoneとは?初心者にもわかるNoneTypeとnullの違いをやさしく解説!
New3
Flask
Flaskで非同期処理が必要になる場面とは?初心者でもわかる非同期処理とタスク管理の考え方
New4
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのコメント活用術!初心者向けにTODO・FIXME・ドキュメンテーションコメントの書き方を完全解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
Python
Pythonで型を調べる方法!初心者でもわかるtype()とisinstance()の違いと使い方をやさしく解説
No.5
Java&Spring記事人気No5
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.6
Java&Spring記事人気No6
Python
Pythonのリストをソート(並び替え)する方法!sort()とsorted()の違いと使い方
No.7
Java&Spring記事人気No7
Flask
Flaskアプリのテストにpytestを使う方法!初心者でもわかる簡単サンプル解説
No.8
Java&Spring記事人気No8
Flask
Flaskの認証処理でよくあるセキュリティの落とし穴まとめ|初心者でも安心の安全設計ガイド