在哪里可以找到python中类的方法定义?

时间:2019-02-03 17:25:33

标签: python documentation

在Java中,如果您搜索一个类,通常可以找到该类提供的所有可用方法。它告诉您参数和返回类型。但是,在python中,我找不到类似的东西。官方docs.python.org给出了一些方法使用的示例,但是有时它们似乎并未完全提及所采用的参数以及返回类型是什么。

例如,当我查看counter对象时,我无法确切找到keys()方法的作用及其返回的结果。同样,我在get中看到了计数器类的另一种用法,但是我也无法在该网站上找到它。

有人对与Java非常相似的文档有任何建议吗?否则,最好的方法就是弄清楚每种方法在python中的作用。

3 个答案:

答案 0 :(得分:3)

Python具有类似于Javadoc的“ docstring”。大多数方法都是用docstring编写的(至少标准库对此非常有用),并且大多数IDE都会自动为您显示要引用的任何给定方法的docstring,就像它们向您显示的那样。 javadoc。文档字符串看起来像这样:

def my_method(some_params):
    '''
    docstring goes here, within the triple-quotes
    '''

在python终端上时,您可以直接查看给定方法的文档字符串

>>> help(my_method)

您还可以导入包并查看特定方法:

>>> import collections
>>> help(collections.Counter.keys)

然后向您显示以下内容:

keys(...)
    D.keys() -> a set-like object providing a view on D's keys

您还可以在类上使用help(),这将显示类的文档字符串以及该类中每个方法的文档字符串:

>>> help(collections.Counter)

或在实例上显示或多或少的相同信息:

>>> x = collections.Counter()
>>> help(x)

在您的特定情况下,Counter是内置dict的子类,这可能导致缺少关于它们共享的方法的明确文档。例如,dict.get(key)返回给定键的值,因此我假设Counter.get(key)将返回类似的内容。


如果查看文档字符串并不能真正帮助您解决问题,请不要害怕打开终端并尝试输入和输出!

答案 1 :(得分:0)

在大多数情况下,docs.python.org在记录源代码方面做得相当出色。

对于Counter类,文档中的第一句话指出:

  

Counter是用于计数可哈希对象的dict子类。

因此,您现在知道Counter继承了dict的所有方法。 ({get()keys()pop()等)

如果docs.python.org由于某些原因未能记录某些来源,则可以在交互式提示中使用help(obj)。或者,您可以通过print(obj.__doc__)打印出它的文档字符串。将obj替换为任何对象,函数或方法。

答案 2 :(得分:0)

我们可以使用以下任一代码获取所需的详细信息。

from collections import Counter
help(Counter)
from collections import Counter
Counter.__doc__