链接到Python文档字符串中的类方法

Link to class method in python docstring(链接到Python文档字符串中的类方法)
本文介绍了链接到Python文档字符串中的类方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从同一个类的另一个方法的文档字符串中添加一个指向我的类中的方法的链接。我希望该链接在狮身人面像中工作,最好也在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:`mymode.MyClass.foo`
唯一能有效生成链接的链接是:func:`mymode.MyClass.foo`,但链接显示为mymodule.MyClass.foo(),我想要一个显示为foo()foo的链接。
上面的选项都不会在Spyder中生成链接。

感谢您的帮助。

推荐答案

适用于Sphinx的解决方案是在引用前面加上~

根据Cross-referencing Syntax上的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文档字符串中的类方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)