作者:Emmanuelle Gouillart

与了解Numpy和Scipy中的所有函数相比,通过文档和可用的帮助快捷地找到信息更重要。这里是获得信息的一些方式:

  • 在Ipython中,help 方法打开函数的文档字符串。只需要输入函数名的起始字母,使用tab完成来显示匹配到的函数。
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中无法为帮助和问答打开一个独立的窗口;但是,可以打开另一个Ipython shell仅显示帮助和文档字符串...

在这个网站上也可以找到不同主题的教程以及所有文档完整的API。

  • Numpy和Scipy的文档由用户在wiki http://docs.scipy.org/doc/numpy/ 上定期丰富和更新。因此,一些API文档(docstrings)在wiki上更清晰 详尽,你可能更想在wiki上读取文档而不是在官方文档网站上。注意任何人都可以在wiki上创建一个帐号来写更好的文档;这是为开源项目做贡献以及改善你所使用的工具的简单方式!

  • Scipy central http://central.scipy.org/ 给出了许多常见问题的做法,比如拟合数据点,求解ODE等。

  • 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 查找指定模块文档字符串中的关键字。
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科学计算的专家经常通过邮件组给出非常有启发性的解释。
In [ ]: