冒号包装类在python注释中意味着什么?

Aer*_*rin 1 python class pytorch

冒号包含class(:class:)在python注释中意味着什么?

例如,

class Optimizer(object):
    r"""Base class for all optimizers.
    Arguments:
        params (iterable): an iterable of :class:`torch.Tensor` s or
            :class:`dict` s. Specifies what Tensors should be optimized.
        defaults: (dict): a dict containing default values of optimization
            options (used when a parameter group doesn't specify them).
    """

    def __init__(self, params, defaults):
        self.defaults = defaults
Run Code Online (Sandbox Code Playgroud)

它是特定于pytorch的语法,还是什么?

资料来源:https://github.com/pytorch/pytorch/blob/master/torch/optim/optimizer.py

Mar*_*ers 6

这不是Python或Torch特有的.它是文档工具的语法; 最有可能是狮身人面像.

语法表示对另一个类的文档的交叉引用.当文档工具生成HTML等超链接输出时,此类引用会自动成为指定类的文档页面的链接.

对于Sphinx,请参阅交叉引用语法文档 ; 在那里你会看到py:class:作为类引用,但我们可以假设默认域设置为Python,因此:class:也是有效的.

PyTorch项目确实使用Sphinx生成文档.您可以将找到的来源与生成的文档进行比较 ; 注意两者是如何dicttorch.Tensor超链接到更多文档.