# 1.6 獲取幫助及尋找文檔
與了解Numpy和Scipyzhong的所有函數相比,通過文檔和可用幫助快捷的找到信息更重要。這里是獲得信息的一些方式:
* 在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僅顯示幫助和文檔字符串...
* Numpy和Scipy的文檔可以在線查看[http://docs.scipy.org/doc](http://docs.scipy.org/doc) 。兩個包的參考文檔([http://docs.scipy.org/doc/numpy/reference/](http://docs.scipy.org/doc/numpy/reference/) 和 [http://docs.scipy.org/doc/scipy/reference/)中的搜索按鈕非常有用。](http://docs.scipy.org/doc/scipy/reference/)中的搜索按鈕非常有用。)
在這個網站上也可以找到不同主題的教程以及所有字符串文檔的完整API。 
* Numpy和Scipy的文檔由用戶在wiki [http://docs.scipy.org/numpy/](http://docs.scipy.org/numpy/) (鏈接已經失效) 上定期豐富和更新。因此,一些字符串文檔在wiki上更清晰想盡,你可能更想在wiki上讀取文檔而不是在官方文檔網站上。注意任何人都可以在wiki上創建一個帳號來寫更好的文檔;這是為開源項目做貢獻以及改善你所使用的工具的簡單方式!

* Scipy的cookbook [http://www.scipy.org/Cookbook](http://www.scipy.org/Cookbook) 給出了許多常見問題的做法,比如擬合數據點,求解ODE等。
* Matplotlib網站 [http://matplotlib.sourceforge.net/](http://matplotlib.sourceforge.net/) 以一個擁有大量圖表的非常漂亮的畫廊為特色,每個圖表都顯示了源代碼及生成的圖表。這對于通過例子來學習非常有幫助。在網站上也可以找到更多的標準文檔。

* Mayavi網站 [http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/](http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/) 也有非常漂亮的例子畫廊 [http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/examples.html](http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/examples.html) ,人們可以查看不同的可視化方案。
最后,兩個更加“技術”可能性也非常有用:
* 在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科學計算的專家通過在郵件組給出非常有啟發性的解釋。
* Numpy討論([[email?protected]](/cdn-cgi/l/email-protection)): 全部是關于Numpy數組,操作數據,索引等問題。
* SciPy用戶列表([[email?protected]](/cdn-cgi/l/email-protection)): 用Python進行科學計算,高級數據處理,特別是scipy包的使用。
* [[email?protected]](matplotlib-users@lists.sourceforge.net) 用matplotlib繪圖。
In?[1]:
```
%matplotlib inline
```
- 介紹
- 1.1 科學計算工具及流程
- 1.2 Python語言
- 1.3 NumPy:創建和操作數值數據
- 1.4 Matplotlib:繪圖
- 1.5 Scipy:高級科學計算
- 1.6 獲取幫助及尋找文檔
- 2.1 Python高級功能(Constructs)
- 2.2 高級Numpy
- 2.3 代碼除錯
- 2.4 代碼優化
- 2.5 SciPy中稀疏矩陣
- 2.6 使用Numpy和Scipy進行圖像操作及處理
- 2.7 數學優化:找到函數的最優解
- 2.8 與C進行交互
- 3.1 Python中的統計學
- 3.2 Sympy:Python中的符號數學
- 3.3 Scikit-image:圖像處理
- 3.4 Traits:創建交互對話
- 3.5 使用Mayavi進行3D作圖
- 3.6 scikit-learn:Python中的機器學習