読み方 : ドックストリング

docstring【ドキュメンテーション文字列】documentation string

docstringとは?

プログラムソースコード内に埋め込まれる説明文字列のこと。関数やクラスモジュールなどの定義の直後に記述され、そのコードが何をするものかを文書として残す手段として広く使われている。

docstringは通常、関数やクラスの定義の直後に、文字列リテラルとして記述する。Pythonの場合、三重引用符(""")で囲んだ文字列がdocstringとして認識される。この文字列はプログラムの実行には影響せず、コード自体の動作を変えることはない。記述した内容は、各オブジェクトの__doc__属性としてプログラムから参照でき、ドキュメント生成ツールによって自動的に読み取られる。

コメントとの違い

docstringは一般的なコメントとは性質が異なる。コメントはソースコードを読む人間だけを対象としており、実行時には取り除かれて完全に無視される。一方、docstringは実行時にも文字列オブジェクトとして保持され、専用の関数(Pythonのhelp()など)を通じてプログラムの実行中にアクセスできる。統合開発環境や各種ツールはdocstringを解析してヒント表示や自動補完を行うことが可能になっている。

記述の慣習と書式

docstringの書き方にはいくつかの慣習が存在する。Pythonの公式規約であるPEP 257では、一行で収まる簡潔なものと、複数行にわたる詳細なものの二種類が定められている。より具体的な書式としては、GoogleスタイルやNumPyスタイル、reStructuredTextを用いたSphinxスタイルなどが普及しており、引数や戻り値、例外などの情報を構造化して記述するために使われる。プロジェクトやチーム内でいずれかの書式に統一するのが一般的な運用である。

言語による違い

単に「docstring」という場合はPythonのそれを指すことが多いが、同様の仕組みはLispJuliaなど他の言語にも存在する。また、コメントに規定の書式で仕様を記述すると自動的にドキュメント化してくれる仕組みはより広範に用いられており、Javaの「Javadoc」、JavaScriptの「JSDoc」、PHPの「PHPDoc」などがよく知られている。これらは記述をコードとしては解釈しないが、ドキュメントをコードに埋め込んで記述する考え方は共通している。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。