【发布时间】:2014-02-12 22:00:18
【问题描述】:
我想从同一类的另一个方法的文档字符串中添加指向我的类中的方法的链接。我希望该链接可以在 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 中生成链接。
感谢您的帮助。
【问题讨论】:
-
什么意思 "add ... from inside" ???链接和超链接有什么区别?
-
我将
hyperlink替换为link以避免混淆。 -
我还是不太明白你的问题。您的意思是要从 Sphinx 或 Spyder 或其他 Python IDE 执行对函数
bar的文档字符串的询问,该函数将提供信息 “您搜索的函数或方法是 foo” ? -
其次,
mymodule.MyClass.foo()和foo()之间有什么区别?你怎么称呼 "display" ?是字符串的显示吗?或者你想要一个返回的对象?在后一种情况下,mymodule.MyClass.foo()和foo()末尾的 paens 太多了。 -
很抱歉造成混乱,总是很难简明地解释一个问题。我只想有一个可以单击的链接,它将带您到 foo() 的文档字符串(在 IDE 的文档窗口中,或在 Sphinx 的 html 构建中)。关于括号:它们是正确的: :func:
mymodule.MyClass.foo导致链接带有括号。我再次稍微改述了这个问题。
标签: python python-sphinx spyder