<p>Python在标准库中有一个类似于Javadoc的库,称为<code>pydoc</code>。你知道吗</p>
<p>您甚至可以使用命令将其作为web服务器启动</p>
<pre><code>$ python -m pydoc -b
</code></pre>
<p>(或者<code>-p 80</code>如果随机端口给您带来麻烦,那么转到<code>http://localhost</code>)</p>
<p>这将打开一个web浏览器,允许您浏览标准库以及您碰巧安装的任何其他软件包。你知道吗</p>
<hr/>
<p>注意,还可以使用<code>help()</code>实用程序从Python的交互式shell/REPL获取所有这些信息。你知道吗</p>
<pre><code>>>> help()
</code></pre>
<blockquote>
<p>let's say you wanted to find functions to do stuff on strings, as an example let's say strip(). How would you find this function using either method?</p>
</blockquote>
<pre><code>$ python -m pydoc str
</code></pre>
<p>或者</p>
<pre><code>>>> help(str)
</code></pre>
<p>将显示<code>str</code>类型的帮助,包括它的所有方法。你知道吗</p>
<p>如果您不知道某个字符串的类型是<code>str</code>,您可以创建一个字符串并要求它提供其类型:</p>
<pre><code>>>> type("foo")
<class 'str'>
>>> help(type("foo"))
</code></pre>
<p>要查看对象属性的更紧凑的目录,可以使用</p>
<pre><code>>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
</code></pre>
<p>但是,既然您已经知道名称是<code>strip()</code>,就可以请求有关该对象的帮助。你知道吗</p>
<pre><code>>>> help(str.strip)
</code></pre>
<p>这将显示方法签名和docstring(如果有的话)。你知道吗</p>
<p>使用Pydoc的web服务器,您可以单击起始页上“内置模块”中的<code>builtins</code>链接,然后单击<code>str</code>链接查看完全相同的信息,因为<code>help()</code>也由Pydoc提供服务。你知道吗</p>
<p>还有“搜索”和“获取”栏。在“Get”栏中输入<code>str.strip</code>可以直接找到它,就像使用<code>help(str.strip)</code>一样。你知道吗</p>
<blockquote>
<p>This is great info. Thanks. Is there somewhere where this is posted online? So you don't have to start a server locally?</p>
</blockquote>
<p>据我所知不是。似乎也没有什么意义。本地服务器的优点是,它根据启动它时使用的解释器,准确地记录系统上安装的内容,即使您安装了多个Python版本(或者使用安装了不同软件包的virtualenvs)。即使是标准库也可能因操作系统或发行版以及(从源代码编译时)编译时可用的C库而异。你知道吗</p>