.. _aide: Savoir chercher (trouver) de l'aide ==================================== Il n'est pas très utile de connaître toutes les fonctions de numpy et scipy, mais plutôt de savoir rapidement chercher les informations qu'on cherche. Voici quelques moyens de trouver ces informations (qui peuvent être plus rapides que de demander à Google...) : * Sous Ipython, ``help fonction`` ouvre la page d'aide de la fonction. On peut taper le début de la fonction et se servir de la tab complétion pour faire apparaître les fonctions qui existent. .. sourcecode:: ipython 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 * Si on ne connaît pas le nom exact de la fonction, ou si on ne connaît pas les fonction qui existent on peut aussi utiliser la fonction magique ``%psearch`` dans Ipython : .. sourcecode:: ipython In [3]: import numpy as np In [4]: %psearch np.diag* np.diag np.diagflat np.diagonal * On peut chercher des mots clés à l'intérieur des docstrings des différents modules grâce à numpy.lookfor .. sourcecode:: ipython 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. * On peut parcourir la documentation de numpy et scipy sur http://docs.scipy.org/doc/, et utiliser en particulier le bouton ``search`` à l'intérieur des pages de référence des deux librairies (http://docs.scipy.org/doc/numpy/reference/ et http://docs.scipy.org/doc/scipy/reference/). * Pour savoir comment attaquer un problème, le Cookbook de scipy/numpy donne beaucoup d'exemples de cas d'utilisation courants http://www.scipy.org/Cookbook * Malgré l'existence de ces différentes possibilités, il n'en reste pas moins que l'aide est pour le moment un des points faibles de numpy/scipy, comparé à des solutions commerciales comme Matlab ou IDL. Il manque notamment un moteur de recherche où on puisse faire des recherches par mots clés, suivre des liens, etc. Un tel moteur a en fait été implémenté dans l'EPD (dire plus...). Par ailleurs, il y un actuellement un effort important et original dans la communauté de Python scientifique pour justement améliorer la qualité de la documentation. Grâce à un wiki, les utilisateurs peuvent aller modifier les pages d'aide afin de les corriger, les enrichir, ou faire des liens vers d'autres fonctions. Ce travail collaboratif est hébergé sur http://docs.scipy.org/numpy/, n'hésitez pas à aller y faire un tour ! * Si vous n'avez toujours pas trouvé après avoir fouillé l'aide, fait de nombreuses requêtes google, ... ne vous désepérez pas ! Il existe des mailing-lists (en anglais) très réactives où on obtient rapidement des réponses données par un certain nombre d'experts de Python scientifique : * **Numpy discussion** (numpy-discussion@scipy.org) : tout ce qui concerne les tableaux numpy, leur manipulation, l'indexation, etc. * **SciPy Users List** (scipy-user@scipy.org) : autour de scipy et des divers algorithmes, trucs et astuces pour traiter des données scientifiques. * Il y a également une mailing-list pour les questions de plot avec matplotlib, matplotlib-users@lists.sourceforge.net