問題タブ [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.
python - サブクラスのPythonDocstring
Pythonでクラスを作成しています。このクラスには、setattr()を使用していくつかのネストされたクラスが追加されています。
ただし、help(T)を呼び出すと、Cに関する情報は含まれません。Tを作成し、その中にCを作成すると、正常に機能します。
これを従来の方法で行うとうまくいきます。
help(T2)を呼び出すと、C2に関する情報が表示されます。
誰かがここで何が起こっているのかを明らかにすることができますか?ありがとう。
php - PHP5オブジェクトで注釈を見つける方法は?
PHP5 オブジェクトにカスタム アノテーションを実装できるようにしたいと考えています。また、独自のパーサーを構築してプロセス全体がどのように機能するかを学びたいと考えています。
ただし、最初に、注釈を検索する方法を知る必要があります。
私が見逃しているリフレクションメソッドはありますか、それとも別の方法がありますか?
たとえば、クラスで次の注釈を見つけられるようにしたいと考えています。
python - コードファイルの最後にpythondoctestを置きますか?
Python doctestを各関数の本体に入れることができます。これは、関数と同じファイルにあるため、小さなライブラリでよく使用します。
または、それらをすべてまとめて別のファイルにまとめて、別のファイルを実行することもできます。これは、関数の間にdoctestが必要ない場合に便利です。docstringが小さいと、コードの作業が簡単になることがあります。
Python doctestを同じファイルに保持し、ファイルの最後にすべてまとめる方法もありますか?
編集:以下の受け入れられた答えに基づく解決策:
実際、これは単純です。ダミー関数は、1つのdocstringにすべてのdoctestを含む最後の関数として作成されます。
python - Pythonコードから「余分な」docstringを抽出しますか?
クラスまたは関数の宣言の直後に続くPythondocstringは、__doc__
属性に配置されます。
質問:関数の後半で発生する追加の「内部」docstringをどのように抽出しますか?
更新:このようなリテラルステートメントは、コンパイラーによって省略されます。おそらくAST経由でそれら(およびそれらの行番号)に到達できますか?
なぜ私は尋ねるのですか?
私は、そのような「内部」ドックストリングを使用して、アジャイルシナリオのGiven / When / Thenセクションを描写する(完全に焼き付けられていない)アイデアを持っています。
docstringを抽出することにより、テスト実行フレームワークは次のような出力を生成できます。
これは、 Behave、Freshen、Lettuce、PyCukesで採用されているアプローチよりも簡潔であり、ステップごとに個別の関数を定義する必要があると思います。ステップのテキストを関数名()として繰り返す必要はありません@When("I add numbers") def add_numbers()
。ただし、単純な単体テストとは異なり、docstringは、参照用にビジネスで読み取り可能なシナリオを印刷する機能を追加します。
python - do_help()関数のPythoncmd動的ドキュメント文字列
私は、ユーザーがさまざまな言語を学ぶのを支援するためのPythonicコマンドライン「フラッシュカード」アプリに取り組んでいます。Pythonのcmdライブラリを使用して開発をスピードアップしたいと思います。特に興味深いのは、クラスのユーザーメソッドのドキュメント文字列を出力するcmd.Cmdクラスのdo_help()メソッドです。ただし、このアプリケーションは多言語であるため、言語固有のdocstringをドロップできるようにしたいと思います。
デコレータの使用に関するこのSOの質問を読みましたが、デコレータについてはほとんど知りません。デコレータについて学ぶことに多くの時間を費やす前に、デコレータが私の特定のジレンマに適しているかどうかを知りたいと思います。
皆さんはどう思いますか?この状況に対処するための最良の方法は何ですか?
私の問題についてもっと情報が必要な場合はお知らせください。
python - vimpythoncompleteを使用したPythondocstringは、自分のクラス関数の改行を表示しません
自分のクラス関数でPythonOmniCompletionを使用しようとすると、予期しない結果が発生します。次の図に示すように、関数のdocstringが改行で正しくフォーマットされていません。
標準のPythonライブラリからモジュールをインポートすると、期待どおりの結果が得られます。
Python docstringの規則によれば、ソースファイルの改行は改行として解釈される必要があります。ここで何が起こっているのか、そしておそらく問題を解決する方法を誰かが知っていますか?
python - epydoc の docstring フォーマットから sphinx docstring フォーマットに切り替える自動化された方法は?
私は、epydoc を使用して文書化したプロジェクトを持っています。今、私はスフィンクスに切り替えようとしています。太字やリンクなどに B{}、L{} などを使用し、入力、出力、例外などを説明するために @param、@return、@raise などを使用して、epydocs 用にすべてのドキュメント文字列をフォーマットしました。
そのため、Sphinx に切り替えると、これらの機能がすべて失われます。epydocs 用にフォーマットされた docstring を sphinx 用にフォーマットされた docstring に自動的に変換する方法はありますか?
python - この単純な python クラスとその docstring をどのように改善しますか?
これは、シリアル接続を介してデータを読み取るプロジェクトに使用してきた単純なフィルターであり、docstring を書き込む最初の試みとして使用するとよいと考えました。誰か提案はありますか?私は PEP 257 を読んでいます。これはクラスなので、キーワード引数は__init__
?の後に来る必要があります。
その一部 (ドキュメントストリングだけでなく) を記述するためのより良い方法があれば、人々が私を正しい方向に向けることができれば幸いです。
python - docstring の最大行長は通常の PEP8 標準とは異なりますか?
それで、いくつかのコードを見て、pylint の助けを借りてそれを PEP 8 標準に引き上げました。テキストが 120 文字を超えた print ステートメントに三重引用符を使用していた場合 (79 文字ではなく 120 文字を許可しています) pylint文句を言いませんでした。
これは pylint のバグですか、それともコメントである可能性があり、行の長さに対してより寛大であると考えていますか、それとも、文字列をそのようにフォーマットしたいので、トリプルクォートで文字列をどこまで使用してもかまいませんか?
明確にするために: はい pylint は、行の長さを超える他のすべてのケースで正常に機能します。
python - 変数をPythondocstringに入れる方法
だから私は次のような「動的な」docstringを作成しようとしています:
基本的に、docstringに@param animalType
何ANIMAL_TYPES
があるかを表示させます。この変数が更新されると、docstringが自動的に更新されるようにします。
残念ながら、うまくいかないようです。これを達成する方法があるかどうか誰かが知っていますか?