替代Python文档
我在需要查找东西的时候一直在看docs.python,这个网站合适吗?我之前用的是Java,感觉docs.python更像是一个教程网站,而不是文档网站。
比如说,当我在Java的API参考里查找一个类的时候,一眼就能看出它的返回类型、方法名称和参数,非常简单有效。而在docs.python里,如果我想找一个返回X的方法,就得把所有的方法描述都读一遍……他们没有一个简短的方法列表,也没有描述的情况下告诉你方法的功能,方法描述里甚至没有提到会抛出什么异常……肯定有更好的网站。
我在玩Python,觉得它的功能更简洁,技巧更多,但不能快速查找东西让我很头疼,读那些大部分没用的信息打断了我的思路。
编辑: 给我差评的人,我真的在努力使用这个语言……如果你觉得我用错了,有什么建议的话……能不能告诉我你是怎么做的,因为我在网上查了很多,像谷歌、必应、Yandex、DuckDuckGo都没找到好的建议,你们肯定不可能只用docs.python……当然我可以结合使用dir()、help()和doc.python,但这实在是太麻烦了。
编辑: 好吧,我还有很多要学的,也许等我对Python了解得更好时,就能明白这些文档为什么是这样的,我想我应该感到高兴,因为至少有文档可以参考 :P
谢谢大家的建议
3 个回答
在使用 IPython 进行开发时,查看代码的帮助信息变得更加简单。这得益于自动补全功能和一个很方便的写法 foo?
,它可以快速显示 help(foo)
的内容,也就是函数、方法或对象的说明文档。一个典型的使用场景可能是这样的:
In [1]: import pandas as pd
In [2]: pd.Da<Tab>
pd.DataFrame pd.DateOffset pd.DateRange pd.DatetimeIndex
In [3]: pd.DataFrame?
Type: type
String Form:<class 'pandas.core.frame.DataFrame'>
File: c:\python27\lib\site-packages\pandas\core\frame.py
Docstring:
Two-dimensional size-mutable, potentially heterogeneous tabular data
[...]
docs.python.org 是 Python 语言和库的权威参考资料。
不过,如果你只是想查看某个模块或类里面的方法列表,可以使用 Python 自带的 dir()
和 help()
函数:
>>> import string
>>> dir(string)
['Formatter', 'Template', '_TemplateMetaclass', '__builtins__', '__doc__', '__file__',
'__name__', '__package__', '_float', '_idmap', '_idmapL', '_int', '_long',
'_multimap', '_re', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'atof',
'atof_error', 'atoi', 'atoi_error', 'atol', 'atol_error', 'capitalize', 'capwords',
'center', 'count', 'digits', 'expandtabs', 'find', 'hexdigits', 'index',
'index_error', 'join', 'joinfields', 'letters', 'ljust', 'lower', 'lowercase',
'lstrip', 'maketrans', 'octdigits', 'printable', 'punctuation', 'replace', 'rfind',
'rindex', 'rjust', 'rsplit', 'rstrip', 'split', 'splitfields', 'strip', 'swapcase',
'translate', 'upper', 'uppercase', 'whitespace', 'zfill']
>>> help(string.upper)
Help on function upper in module string:
upper(s)
upper(s) -> string
Return a copy of the string s converted to uppercase.
你可以使用一种叫做“自省”的方法。以下是一些我觉得最重要的内容:
dir(object)
可以返回一个对象的所有方法和属性。module.__doc__
会返回这个模块的说明文档。type(object)
可以告诉你这个对象的类型。help(object)
也可能会很有用。