[解決済み] Python の docstring にあるクラスメソッドへのリンク
2022-10-20 06:11:26
質問
私は、同じクラスの別のメソッドのdocstring内から私のクラスのメソッドへのリンクを追加したいです。私はリンクがsphinxと優先的にSpyderと他のPython IDEで動作するようにしたいです。
私はいくつかのオプションを試して、動作する唯一のものを見つけましたが、それは面倒です。
に以下のような構造があるとします。
mymodule.py
def class MyClass():
def foo(self):
print 'foo'
def bar(self):
"""This method does the same as <link to foo>"""
print 'foo'
に対して、以下のオプションを試してみました。
<link to foo>
:
- :func:`foo`
- :func:`self.foo`(セルフ・フー)
- :func:`MyClass.foo` (マイクラス.フー)。
- :func:`mymodule.MyClass.foo` です。
効果的にリンクを生成するのは :func:`mymodule.MyClass.foo` だけですが、リンクは次のように表示されます。
mymodule.MyClass.foo()
と表示されるリンクが欲しいのですが
foo()
または
foo
.
上記のオプションはどれもSpyderでリンクを生成しません。
ご協力ありがとうございました。
どのように解決するのですか?
Sphinxで動作する解決策は、参照の前に
~
.
に関するSphinxのドキュメントによると クロスリファレンスの構文 ,
コンテンツに ~ を付けると、リンクテキストはターゲットの最後の要素にのみなります。 のみとなります。例えば、:py:meth:
~Queue.Queue.get
は はQueue.Queue.getを参照しますが、リンクテキストとしてgetのみを表示します。
ということで、答えは
class MyClass():
def foo(self):
print 'foo'
def bar(self):
"""This method does the same as :func:`~mymodule.MyClass.foo`"""
print 'foo'
この結果、htmlは次のようになります。
This method does the same as foo()
と
foo()
はリンクである。
ただし、Spyderではリンクとして表示されない場合がありますので、ご注意ください。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Python 言語を決定するには?