我正在学习Python的Twisted,并且必须使用他们的文档字符串来提供帮助,因为文档并不是最好的。幸运的是,源代码具有良好的文档字符串。例如,我正在学习使用LoopingCall
(class documentation,source code)。但是一些符号让我感到困惑。看过其他人的Java代码后,我得到以下几点:
@ivar f: The function to call.
@ivar a: A tuple of arguments to pass the function.
@ivar kw: A dictionary of keyword arguments to pass to the function.
@ivar clock: A provider of
L{twisted.internet.interfaces.IReactorTime}. The default is
L{twisted.internet.reactor}. Feel free to set this to
something else, but it probably ought to be set *before*
calling L{start}.
...
@type _runAtStart: C{bool}
@ivar _runAtStart: A flag indicating whether the 'now' argument was passed
to L{LoopingCall.start}.
我了解@label
如何定义/记录类及其属性的参数。但是C{...}
是否指定类或数据类型?但是类docstring的第一行是
如果C {f}返回延迟,则在延迟解雇之前不会重新安排。结果值将被忽略。
那么这是指参数f
这是一个函数,并说明如果该参数返回延迟会发生什么?
L{...}
符号是什么意思?它指的是L{LoopingCall.start}
,我知道这是一种可以在LoopingCall
上调用的方法,但对于L{}
还是仅仅是计算机科学的方法还有其他意义。说“这是我们在这里提到的一种类方法”?