PEP 257言います:
Docstring 処理ツールは、Docstring の 2 行目以降から、最初の行の後のすべての非空白行の最小インデントに等しい量のインデントを取り除きます。docstring の最初の行 (つまり、最初の改行まで) のインデントは意味がなく、削除されます。docstring の後の行の相対的なインデントは保持されます。docstring の先頭と末尾から空白行を削除する必要があります。
次に、このアルゴリズムを実装する関数trim
が PEP に示されます。
docstring をフォーマットする方法を尋ねる質問や、PEP 257 を参照する質問 (例: this )を見つけることができます。docstring が PEP 257 に準拠していることを確認するためのツールに関する情報もいくつか見られます (例: this )。私が見つけられないのは、実際にはPEP 257 で定義されている方法で docstring を処理する「docstring 処理ツール」である Python ライブラリです --- または、少なくとも、この docstring 処理機能を直接作成するツールを見つけることができません。利用可能。
trim
PEP 257 に示されている関数は標準ライブラリに存在しますか? 明らかに、関数を自分でファイルに貼り付けることができますが、この機能が必要な他のコンピューターを使用している場合は、常に PEP からコピーして貼り付けるのではなく、標準ライブラリから使用することをお勧めします。関数が BDFL によって共同作成された PEP にあることを考えると、これを行う公式または準公式のライブラリがあると思います。
これが必要な理由は、クラス/関数のドキュメント文字列を Python 内部で再フォーマットするデコレータを作成するためです。HTML などを生成したくありません。実際のオブジェクトの実際のdocstringを変更したいだけです。Python オブジェクトのプレーンテキスト属性を取得し、__doc__
それを Python オブジェクトのプレーンテキスト属性として機能するものに再フォーマットしたいと考えてい__doc__
ます。