web-dev-qa-db-ja.com

Python Docstring:raise vs. raises

私はPyCharm IDEを使用します。これはPEP0257準拠のdocstringの作成を支援します。この2つの属性を提供します。

  • :raise Exception: exception explanation here
  • :raises Exception: exception explanation here

Docstringでraiseに反してraisesを使用するのはいつですか?具体的には、クラスが提供されていない引数を必要とし、TypeErrorを発生させる場合、それを文書化するために使用する必要がありますか?

31
Bob Dylan

TL; DR

raisesは、発生する可能性のある例外を記述するために使用されます。 raiseは、autodocの実行時に Sphinx によって認識され、raisesと同じです。

完全な説明

PyCharmは、いくつかの異なるスタイルのdocstringコメントの使用を支援します。

私がよく使用する3つは次のとおりです。

  1. NumPy形式
  2. Google形式
  3. Sphinx (フォーマット以上のもの)

これらのすべてには、Raisesの特別なセクションがあり、それはPyCharmコードテストの古いバージョンで見ることができます:

  1. 単純なNumPy
  2. シンプルなGoogle

SphinxDocStringの実装 こちら を参照してください。認識できるキーワードは多数あります。これらのタグは、RAISES_TAGSのリストにリンクされます。このリストは、 here で見つけることができます。

この情報がお役に立てば幸いです。

58
erik-e