1.6. 获取帮助和查找文档

作者Emmanuelle Gouillart

比知道Numpy和Scipy中的所有函数重要的是在整个文档和可用的帮助中快速找到信息。以下是一些获取信息的方法:

  • 在Ipython中,help 函数打开函数的文档字符串。只需键入函数名称的开头,并使用制表符完成来显示匹配的函数。

    In [204]: help np.v
    
    np.vander np.vdot np.version np.void0 np.vstack
    np.var np.vectorize np.void np.vsplit
    In [204]: help np.vander

在Ipython中,它不能打开一个单独窗口的帮助和文档;而你可以一直打开另外一个Ipythonshell,只是为了显示帮助和文档字符串等。

../../_images/scipy_doc.png
  • Numpy和Scipy的文档可以在http://docs.scipy.org/doc上在线浏览。search按钮在两个包的参考文档中非常有用(http://docs.scipy.org/doc/numpy/reference/http://docs.scipy.org/doc/scipy/reference/)。

    在这个网站上可以找到各种主题的教程以及带有文档字符串的所有的完整API。

    ../../_images/docwiki.png
  • 用户在wiki http://docs.scipy.org/doc/numpy/上定期丰富和更新Numpy和Scipy的文档。因此,一些文档字符串在wiki上更清晰或更详细,你可能想直接阅读wiki上的文档,而不是官方文档网站。请注意,任何人都可以在wiki上创建一个帐户,并编写更好的文档;这是一个简单的方法来贡献一个开源项目并改进你使用的工具!

  • Scipy中心http://central.scipy.org/提供了许多常见问题的食谱,例如拟合数据点,解决ODE等。

    ../../_images/matplotlib.png
  • Matplotlib的网站http://matplotlib.org/具有非常好的图库,其中有大量的图,每个都显示源代码和结果图。这对于通过示例学习非常有用。还提供更多标准文档。

最后,另外两个“技术”可能也是有用的:

  • 在Ipython中,神奇的函数%psearch搜索匹配模式的对象。这在例如不知道函数的确切名称的情况下是有用的。

    In [3]: import numpy as np
    
    In [4]: %psearch np.diag*
    np.diag
    np.diagflat
    np.diagonal
  • numpy.lookfor在指定模块的docstrings中查找关键字。

    In [45]: numpy.lookfor('convolution')
    
    Search results for 'convolution'
    --------------------------------
    numpy.convolve
    Returns the discrete, linear convolution of two one-dimensional
    sequences.
    numpy.bartlett
    Return the Bartlett window.
    numpy.correlate
    Discrete, linear correlation of two 1-dimensional sequences.
    In [46]: numpy.lookfor('remove', module='os')
    Search results for 'remove'
    ---------------------------
    os.remove
    remove(path)
    os.removedirs
    removedirs(path)
    os.rmdir
    rmdir(path)
    os.unlink
    unlink(path)
    os.walk
    Directory tree generator.
  • 如果上面列出的一切都失败了(Google没有答案)...不要绝望!向适合你的问题的邮件列表写一封邮件:如果你很好地描述你的问题,你应该有一个快速的答案。科学python的专家经常给邮件列表上很有启发性的解释。