问题标签 [docstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5377 浏览

python - 'yield' 关键字的文档字符串标签

python 中有一些用于文档字符串的标签,例如@param@return,例如:

我可以用什么来记录生成器?特别是yield关键字,例如:

我知道@return an iterator可以在这里使用,但我不知道它是否正确,因为生成器也可以返回值。

谢谢。

0 投票
1 回答
534 浏览

python - Python-内置变量/属性的初始化

内置属性何时以及如何初始化? __doc__, __name__(我想我知道这个:) ), __class__,__setattr__等等。

在我关于文档字符串的另一个问题中,其中一个答案提到文档字符串只是简单的字符串,我尝试使用'"并且"""它们都有效。但是,当我使用分配字符串值的变量并将该变量代替文档字符串时,它不起作用。这就是为什么我开始想知道__doc__属性什么时候被初始化?

编辑:这是我在解释器上尝试过的(是的,这很疯狂,我很奇怪:D)

0 投票
5 回答
34965 浏览

python - 执行时如何打印 Python 文件的文档字符串?

我有一个带有文档字符串的 Python 脚本。当命令行参数的解析不成功时,我想打印用户信息的文档字符串。

有没有办法做到这一点?

最小的例子

0 投票
3 回答
4153 浏览

python - 获取python文件的doc字符串

如果我只有文件名,有没有办法获取 python 文件的文档字符串?例如,我有一个名为 a.py 的 python 文件。我知道它有一个文档字符串(之前被强制要求)但不知道它的内部结构,即它是否有任何类或主要等?我希望我不会忘记一些非常明显的事情如果我知道它有一个主要功能,我可以通过使用 import 的方式做到这一点

我不能这样做:

0 投票
13 回答
221479 浏览

python - 如何在 Pylint 的文件级别禁用“缺少文档字符串”警告?

Pylint 会抛出一些文件缺少文档字符串的错误。我尝试为每个类、方法和函数添加文档字符串,但 Pylint 似乎还检查文件是否应该在它们的开头有一个文档字符串。我可以以某种方式禁用它吗?

我希望收到有关类、函数或方法中缺少文档字符串的通知,但文件不应强制要求具有文档字符串。

(在专有源文件的开头是否经常出现法律术语的术语?有例子吗?我不知道单独发布这样一个琐碎的问题是否可以。)

0 投票
1 回答
227 浏览

python - Python 在 Maya 2012 中的 help() 表现得很奇怪

这似乎与代码的内容完全无关,所以我将保持其通用性。

我正在向我的一个模块底部的最后一个类添加多行文档字符串 - 只是为事物添加标签的东西 - 当我通过 Maya 的脚本编辑器导入模块并在该类上运行 help(module.Class) 时,我收到了这个错误:

我花了一段时间缩小导致错误的多行字符串的范围,将其缩减为使用 1 或 2 行,但除此之外失败了。我尝试将大型多行注释移至另一个类并对此提供帮助,并且效果很好,因此该注释似乎没有问题。然后我对模块中新的最后一个类进行了帮助,但它失败了。似乎接近尾声的位置是问题所在。

我将注释移回失败的类并删除了它的所有代码并执行了 help(),它运行良好。我开始重新添加方法,它一直工作到最后一个,其中只有一行代码。我改变了它的每一部分——重命名它,删除了 args,将它的一行代码换成了 pass——对类的帮助总是失败,直到我彻底删除它。帮助确实对 module.Class.method 起作用,所以方法本身及其大的多行注释似乎没问题。

然后,我将模块文件中的整个类向上移动到它之前的类之前。帮助现在为它工作。但是,现在帮助文件中的最后一个类失败了,尽管它甚至没有文档字符串。我把这门课移回最底层,开始玩最后的东西。最后一种方法似乎有问题,这意味着即使我在它们之前删除了很多 - 比最后删除的文本更多 - 我仍然会遇到问题。我在最后一个方法中添加了一个文档字符串并且帮助失败了,但是在最后三个方法中添加了一个文档字符串(只是一个“随便”)使它再次工作。这整件事完全令人费解。

这是我以某种方式错过的已知问题吗?似乎某些类/方法配置可以杀死帮助,除非所有方法 - 尤其是那些不太复杂的方法 - 都有文档字符串。

编辑以添加一小段代码作为示例:

那是文件中最终类的最终方法。它导致帮助崩溃。删除此方法将允许帮助再次处理该类。但是,将其保留并将类本身移动到前一个类之上会导致它再次为该类正常工作,但随后开始在文件中的新最终类上失败。

0 投票
5 回答
9279 浏览

python - 在 Python 中继承方法的文档字符串

我有一个带有文档字符串的 OO 层次结构,它需要与代码本身一样多的维护。例如,

现在,问题在于AfricanSwallow.airspeed不继承超类方法的文档字符串。我知道我可以使用模板方法模式保留文档字符串,即

_ask_arthur在每个子类中实现。但是,我想知道是否有另一种方法可以继承文档字符串,也许是我还没有发现的一些装饰器?

0 投票
1 回答
1206 浏览

python - 嵌套文档字符串的 Doctest

假设我有以下代码:

让我们将它保存为 foo.py。当我运行时:

已尝试缩进文档字符串(>>> a = '''...'''。已检查所有缩进 - 每个缩进 4 个空格)并将单引号更改为双引号(>>> a = """.. .."""),错误是不同的,文档测试不会成功。目前唯一可行的方法是将所有行加入一个极长的字符串并用'\r\n'分隔。

我错过了什么吗?

0 投票
2 回答
184 浏览

python - 依赖文档字符串的脚本?

来自 2.7.2 文档,第 6 节Modules

Passing two -O flags to the Python interpreter (-OO) will cause the bytecode compiler to perform optimizations that could in some rare cases result in malfunctioning programs. Currently only __doc__ strings are removed from the bytecode, resulting in more compact .pyo files.

这引起了我的注意:

Since some programs may rely on having these available, you should only use this option if you know what you’re doing.

在任何情况下,删除脚本的文档字符串可能会在逻辑上破坏代码功能的某些依赖性或其他方面,而忽略任何语法错误?

编辑

为什么删除评论会破坏帮助声明?在解释器中似乎没有这样做。

0 投票
3 回答
146 浏览

python - 如何获得 PyGTK 方法的帮助?

在 pygtk 中,当我设置标签时,我可以通过方法mylabel = gtk.Label("Hello World!")从中获取标签字符串。mylabel.get()但在 python 解释器中,我无法获取此方法的文档字符串:help(gtk.Label.get). 有谁知道为什么?