PythonのDocstringは、クラスやメソッド(関数)についての説明を記載したコメント文のことです。Docstringは、__doc__
という変数に格納されています。以下は、printメソッドのDocstringを表示させた例です。
>>> print(print.__doc__)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
自作したクラスやメソッドにDocstringを記載しておくと、IDE上に補足情報として表示させることや、Sphinxを使用して、ソースコードの仕様書を自動作成することが可能になります。
Googleスタイルは、Googleが提唱したDocstringの記法の一つです。Docstringの記法にはreStructuredTextスタイル,Numpyスタイル,Googleスタイルの3つがあります。
例外処理については、関数のDocstringにRaises
セクションを追加して、その関数がどのような例外を発生させる可能性があるかを明示的に記述します。これは、関数の使用者が適切な例外処理を行うための重要な情報です。
以下に、GoogleスタイルのPython Docstringで例外処理を記述した例を示します。
def divide(x, y):
"""
xをyで割った結果を返す。
Args:
x (float): 割られる数。
y (float): 割る数。
Returns:
float: xをyで割った結果。
Raises:
ZeroDivisionError: yが0の場合に発生。
"""
if y == 0:
raise ZeroDivisionError("y cannot be zero.")
return x / y
このように、PythonのDocstringを活用することで、コードの理解を深め、保守性を向上させることができます。