我在哪里可以找到在Python类方法的定义?

问题描述 投票:1回答:3

在Java中,如果搜索最多的一类,通常可以找到所有从类中提供了可用的方法。它告诉你的参数和返回值类型。然而,在Python中,我一直没能找到这样的事情。官方docs.python.org具有一定的方法使用的例子,但它们有时他们似乎并没有提什么需要的参数是什么返回类型为。

例如,当我在看counter对象,我是不是能找到什么keys()方法执行和返回结果是什么。同样,我看到了get计数器类的另一种用法,但我没能找到该网站上的任一。

有没有人有任何的文件建议,这是非常类似Java?如果还是不行,要搞清楚什么每种方法确实在Python的最佳方法。

python documentation
3个回答
3
投票

Python有一种叫做“文档字符串”,analagous到的Javadoc。大多数方法与文档字符串(标准库是这个相当不错的,至少)编写的,并且大多数IDE会自动显示你对任何给定的方法,你将要参考的文档字符串,以同样的方式,他们会告诉你的的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)将返回类似的东西。


如果看文档字符串并不能真正帮助你找出你的问题,不要怕,只需打开一个终端和实验的输入和输出!


0
投票

在大多数情况下,docs.python.org确实在记录的源代码一个相当伟大的工作。

至于Counter类,文档中的第一句话规定:

一个Counter是用于计算哈希的对象dict子类。

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

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


0
投票

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

from collections import Counter
help(Counter)
from collections import Counter
Counter.__doc__
© www.soinside.com 2019 - 2024. All rights reserved.