0

我刚开始使用bpython,主要是因为我真的认为它对office nubs有很大帮助。在 bpython 中,它会在您键入时不断显示帮助文本。例如

>>> 拉链(
┌────────────────────────────────────────────────── ────────────────────────┐
│ zip: (seq1 [, seq2 [...]]) │
│ zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] │
│ │
│ 返回一个元组列表,其中每个元组包含第 i 个元素 │
│ 从每个参数序列。返回的列表被截断│
│ 长度为最短参数序列的长度。│
└────────────────────────────────────────────────── ────────────────────────┘

这对于受教育程度较低的人(甚至像我这样的新手)来说非常有用。但是,我的自定义构建函数没有任何显示。我想也许它只是显示文档字符串,所以我将文档字符串添加到我的函数中。没有改变。有人可以向我解释这里显示的内容以及如何将其添加到我的函数中吗?

编辑:这一定是一些奇怪的继承问题。这是通过 Django 的自定义管理器完成的。

类 PublicationManager(models.Manager):
    """吹嘘"""
    定义函数(arg):
        """富"""
        经过

类出版物(模型。模型):
    对象 = PublicationManager()

键入会PublicationManager.funct(显示文档字符串,但Publication.objects.funct(不会。我想小伙伴们将不得不自己解决这个问题。

4

2 回答 2

3

将您的文档字符串添加为函数的第一行:

def funct():
    "This function is self-documenting"
    pass

如果它跨越多行,请使用三引号:

def funct():
    """
     This function doesn't expect arguments
     and returns zero.
    """
    return 0

要获得 repl 中的帮助,请使用 help():

>>> help(funct)

或以编程方式获取文档字符串,请使用__doc__

>>> print funct.__doc__
This function doesn't expect arguments
and returns zero.
>>> 
于 2011-03-25T18:57:43.137 回答
0

在你的函数行之后添加它:

def myFunc():
    """You Doc String Here
    (even multiline)"""
    pass

类也是一样的:

class MyClass():
    """Class Documentation"""
    def __init__(self):
        """Function Documentation"""
        pass

但是对于模块,您在文件顶部编写文档:

#File: mymodule.py
"""Module Documentation"""

class Classes()...
def functions()...

现在,如果您将其导入主文件:

import mymodule.py
print mymodule.__doc__
于 2011-03-25T18:54:28.050 回答