1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🐍 ドキュメント力がアップする!PythonのDocstring完全ガイド【VS Codeで実践付き】

Posted at

はじめに

Pythonで関数やクラスを書くとき、つい**「説明はコメントで済ませよう」**となっていませんか?

でも、Pythonには**Docstring(ドックストリング)**という正式な「説明の書き方」が用意されており、しっかり活用することで以下のようなメリットがあります:

  • ✅ コードの可読性・再利用性アップ
  • ✅ 自動ドキュメント生成に対応
  • ✅ チーム開発や自分の将来の自分が助かる!

さらに、VS Codeと拡張機能を使えば、Docstringの作成が超ラクになります。

この記事では、Docstringの基礎から実践方法、さらに練習用サンプルコードまでまとめて紹介します!


📖 Docstringとは?

Docstringは、Pythonの関数・クラス・モジュールの説明を記述する特別な文字列です。
"""三重クォート"""で囲んで書き、関数やクラスの直後に記述します。

🔰 例:関数にDocstringを書く

def greet(name):
    """
    指定された名前の人に挨拶を返します。

    Parameters:
        name (str): 挨拶する相手の名前

    Returns:
        str: 挨拶文
    """
    return f"こんにちは、{name}さん!"

🔍 Docstringの確認方法

Docstringは、Pythonのhelp()関数を使って簡単に確認できます。

help(greet)

実行結果:

Help on function greet in module __main__:

greet(name)
    指定された名前の人に挨拶を返します。

    Parameters:
        name (str): 挨拶する相手の名前

    Returns:
        str: 挨拶文

📝 Docstringの書き方とスタイル

PythonにはDocstringに関する公式ガイドラインPEP 257があります。
以下のようなルールを守ると、他の人にも優しいコードになります。

✅ 書き方のポイント

  • トリプルダブルクォート(""" """)を使用
  • 最初の行は簡潔な概要(1行で)
  • 2行目は空行を入れる
  • 詳細説明や引数、戻り値の情報を書く

📘 Docstringのスタイル例

🟦 Googleスタイル

def add(a, b):
    """
    2つの数値を加算します。

    Args:
        a (int): 最初の数値
        b (int): 2番目の数値

    Returns:
        int: 加算結果
    """
    return a + b

🟩 NumPyスタイル

def subtract(a, b):
    """
    2つの数値を減算します。

    Parameters
    ----------
    a : int
        最初の数値
    b : int
        減算する数値

    Returns
    -------
    int
        減算結果
    """
    return a - b

💻 VS CodeでDocstringを効率よく書く!

スクリーンショット 2025-10-14 1.00.11.png

🧩 1. 拡張機能「autoDocstring」の導入

  1. VS Codeの拡張機能メニューを開く
  2. autoDocstring を検索
  3. autoDocstring - Python Docstring Generator をインストール!

🔗 autoDocstring 拡張機能ページ


⚙️ 2. 自動Docstringの使い方

✨ ショートカットで一発生成

関数にカーソルを合わせて
👉 Windows/Linux: Alt + Shift + 2
👉 macOS: Option + Shift + 2

⌨️ Docstringスタイルの変更

NumPyスタイルなどに変えたい場合は、設定で変更可能:

"autoDocstring.docstringFormat": "numpy"

VS Codeの「設定 (JSON)」で追加してください。


📄 3. 試してみよう!Docstring練習用サンプルコード

以下のコードを sample_docstring.py として保存すれば、
モジュール / クラス / 関数 にDocstringを書く練習が一気にできます!

適用前

# sample_docstring.py

class Calculator:
    # 簡単な計算を行うクラス。

    def __init__(self, name: str):
        self.name = name

    def add(self, a: float, b: float) -> float:
        return a + b

    def divide(self, a: float, b: float) -> float:
        if b == 0:
            raise ZeroDivisionError("0では割り算できません。")
        return a / b

def greet(name: str) -> str:
    return f"こんにちは、{name}さん!"

if __name__ == "__main__":
    calc = Calculator("MyCalc")
    print(calc.add(3, 5))
    print(calc.divide(10, 2))
    print(greet("Python"))

適用後

"""
sample_docstring.py

このモジュールは、Docstringの基本的な使い方を試すためのサンプルです。
"""

class Calculator:
    """
    簡単な計算を行うクラス。

    Attributes:
        name (str): 計算機の名前
    """

    def __init__(self, name: str):
        """
        Calculatorクラスの初期化。

        Args:
            name (str): 計算機の名前
        """
        self.name = name

    def add(self, a: float, b: float) -> float:
        """
        2つの数値を加算します。

        Args:
            a (float): 最初の数値
            b (float): 2番目の数値

        Returns:
            float: 加算結果
        """
        return a + b

    def divide(self, a: float, b: float) -> float:
        """
        2つの数値を除算します。

        Args:
            a (float): 割られる数
            b (float): 割る数

        Returns:
            float: 除算結果

        Raises:
            ZeroDivisionError: bが0の場合
        """
        if b == 0:
            raise ZeroDivisionError("0では割り算できません。")
        return a / b


def greet(name: str) -> str:
    """
    名前を指定して挨拶メッセージを返します。

    Args:
        name (str): 挨拶する相手の名前

    Returns:
        str: 挨拶文
    """
    return f"こんにちは、{name}さん!"


if __name__ == "__main__":
    calc = Calculator("MyCalc")
    print(calc.add(3, 5))
    print(calc.divide(10, 2))
    print(greet("Python"))

🧠 まとめ

項目 内容
📚 Docstringとは 関数・クラス・モジュールの説明を書く公式な方法
✅ 書き方の基本 """三重クォート"""、引数や戻り値を記述
💻 VS Code活用 autoDocstring拡張機能でラクに書ける
🔧 カスタマイズ Google / NumPy スタイルに変更可能
🧪 サンプルコード 練習用コードで実践的に学べる

✍️ あなたのコードにも、説明を添えてみませんか?

Docstringを書くことは、他人のためだけでなく未来の自分のための投資です。
今日から一緒に、「説明できるコード」を始めましょう!

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?