問題タブ [docstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2010 参照

python - PyDev で関数のドキュメント文字列を表示する際のホットキー?

PyDev では、関数名にカーソルを合わせると、docstring テキストのツールチップが表示されます。

キーボードのみを使用してドキュメント文字列を表示するために、このイベントにホットキーを割り当てる方法はありますか?

0 投票する
1 に答える
110 参照

python - Python docstring プリンターの問題

Zed Shaw の LPTHW に力を入れていて、(新しい) 演習 43 のエクストラ クレジット 3 で障害に遭遇しました。

ここで関数を作成して、1 つの大きなドキュメント文字列である別の関数を出力しようとしています。

エンジンはこちら

そして、ゲームを開始するために呼び出そうとしている関数の一部を次に示します。

そして、これがメインプログラムでどのように呼び出されるかです

しかし、私が得るのは

編集: 演習を正常に完了するには、関数を編集するのではなく、エンジンを編集してドキュメント文字列を出力する必要があります。

0 投票する
1 に答える
154 参照

python - Pythonの「def」に続く文字列は何ですか?(docstringではありません)

UdacityでCS262のビデオを見ていますが、この種の手順の定義に混乱しています。

このコードはライブラリply(.lex)を使用します

私はPythonの経験と知識を持っていますが、ここではプロシージャ定義行の後に続く最初の行でかなり混乱しています。

その文字列(正規表現文字列)は、Pythonインタープリターによってどのように使用、解釈、またはアクセスされますか?それは、それを指す変数なしで割り当てられていない単なる文字列です。

私は通常のグーグルとSO検索をしましたが、それが実際に何であるかを見つけることができませんでした。

事前にすべての回答と説明をありがとうございました。

0 投票する
1 に答える
1149 参照

python - Pythondocstringでパラメーターを参照する

Sphinxとautodocs機能を使用して、プロジェクトに適切なドキュメントがあることを確認します。

したがって、私は情報フィールドリストに精通しており、ドキュメントでの相互参照の使用にも精通しています。

ただし、メソッドまたは関数のdocstringを作成するときは、テキストでそれらのパラメーターを参照すると便利です。しかし、これを行うための構造化された方法はないようです。

  1. 私たちは例えば言うことができます

    しかし、これには構造がなく、そのために使用したスタイルを覚えておく必要があります。スタイルを変更した場合は、間違ったスタイルをすべて探して殺す必要があります。

  2. :param:情報フィールドリストの外では機能しないため、書くことはできません

    /li>
  3. いくつかのプロジェクトが:parm:を使用しているのを見てきましたが、それは文書化されておらず、機能していないようです。だから彼らはいくつかのカスタマイズが必要です

  4. generic_rolesを使用することもできますが、他の人が遭遇したと確信している問題を回避しているようです。

だからうまくいけば、私は盲目的に明白な何かを見逃しただけです。

0 投票する
4 に答える
6940 参照

python - 親クラスの docstring を __doc__ 属性として継承する

Python class inheritance に Inherit docstringsに関する質問がありますが、そこでの回答はメソッドの docstring を扱っています。

私の質問は、親クラスの docstring を__doc__属性として継承する方法です。ユースケースは、Django レスト フレームワークが、ビュー クラスのドキュメント文字列に基づいて API の HTML バージョンで適切なドキュメントを生成することです。しかし、docstring を持たないクラスで基本クラス (docstring を持つ) を継承する場合、API は docstring を表示しません。

スフィンクスやその他のツールが正しいことを行い、docstring の継承を処理してくれる可能性は非常に高いですが、django レスト フレームワークは (空の).__doc__属性を調べます。

のようなことを試しましsuper(SubClassWithoutDocstring, self).__doc__たが、それもNone.

0 投票する
1 に答える
839 参照

python - デコレータがAPIを変更した場合、デコレートされた関数のdocstringをどうすればよいですか?

バックグラウンド

ファイルの読み取りまたはファイルへの書き込みを行ういくつかの関数を備えたライブラリがあります。各関数は、ファイルオブジェクトまたはファイル名のいずれかとして、最初の引数としてファイルを受け入れます。したがって、すべての関数の最初のコードは、次のように同じです。

これをデコレータで一度記述して、すべての関数をラップすることができ、繰り返す必要はないと思いました。(同じデコレータ内にコンテキストマネージャインターフェイスを実装することも考えています。)

したがって、これを行うと、関数は次のようになります。

質問

私の懸念は、関数のdocstringがその下のコードに対応していないことです。(装飾された関数のdocstringをで保持することを計画していfunctools.wrapsます。)それはコードの可読性/保守性/透明性を低下させますか?私が理解していることから、デコレータは簡単に行き来できますが、同時にこれはAPIを少し変更します(機能を削除する予定はありません)。この場合の「ベストプラクティス」の方法は何ですか?

デコレータ内でdocstringを自動的に処理することを考えることができますが、次のようになります。

  • それは最も自然なことではありません。
  • これはオンラインドキュメントにのみ意味があり、誰かがソースコードを読むのを助けません(むしろ反対です)。
0 投票する
1 に答える
158 参照

python - help() でラップする関数としてラッパーを表示する

残念ながら(選択ではなく) python 2.4を使用しているため、2.5で追加された素晴らしいもの(functoolsなど)は役に立ちません

関数をラップしたいのですが、help(wrapper) を実行すると、ラップする関数のように見えるようにします。

私はこれを行うことで部分的に達成しました

現在、関数名との docstring のhelp(wrapper)表示を行っています。ハックに感じるだけでなく、これは次のような場合の関数パラメーターをカバーしていません。aa

help(wrapper)b(*args, **kwargs)明らかに、これは私が望むものではないように見えます。dir(a)どこかにネストされていない限り、私を助けることができる属性はないようです。


編集: pypi を使用できる場合は、これに役立つデコレータ モジュールを参照してください。

0 投票する
1 に答える
421 参照

ironpython - IronPython: .NET アセンブリから XML ドキュメント文字列を取得する方法

IronPython を使用して .NET アセンブリから XML ドキュメント文字列を取得するにはどうすればよいですか? ' _ doc _ ' を使用するのは適切ではないようです。

実際のドキュメント文字列を取得するにはどうすればよいですか。これは、「下端の間の距離をピクセル単位で取得する...」

0 投票する
1 に答える
341 参照

python - Pythonの別の関数に従って関数docstringを自動的に更新する方法は?

同じ関数 A を呼び出すいくつかの関数 (たとえば、B1、B2、B3 など...) があるとします。B1、B2、B3 のドキュメント文字列に、関数 A で使用されるパラメーターを説明するいくつかのテキストを入れたいとします。関数Aのdocstringですでに説明されています。しかし、AのdocstringをB1、次にB2、次にB3にコピーしたくありません。後で関数Aのdocstringを変更すると、B1、B2、B3を変更する必要があります... 繰り返しますが、B1 のドキュメント文字列の一部を A のドキュメント文字列にリンクする方法があるのではないかと思います。これにより、A のドキュメント文字列が更新されると、B1 の対応する部分も更新されます。このようにして、ユーザーは、わざわざ A の docstring をチェックすることなく、ヘルプ情報として関数 B1 の docstring を直接参照できます (実際、A のパラメーターはすべて kwargs です)。簡単な例は次のようになります。

助けてくれてありがとう、または他のリンクを紹介してくれました。グーグルで検索してみましたが、対象となる情報は見つかりませんでした。

0 投票する
2 に答える
564 参照

python - ctypesを使用してdllからプルされたpython関数にdocstringを追加する

Windows dll から一連の python 関数を作成しようとしていますが、新しい関数ごとに docstring を添付したいと考えています。

私の現在のコード:

このスクリプトをインタープリターで実行して関数を使用しようとすると、「docstring がありません」というメッセージが表示されます。

そこに何かを追加することがわかりません。どんな助けでも大歓迎です。

ここに画像の説明を入力