Notes de cours Python scientifique

Premiers pas avec Python pour la science 6 -Scipy :Obtenir de l'aide et trouver la documentation

Emmanuelle Gouillart

Traducteur

s0h3ck

Plutôt que de connaître toutes les fonctions dans Numpy et Scipy, c'est important de trouver rapidement l'information à travers la documentation et l'aide disponibles. Ce tutoriel vous apprend à utiliser quelques astuces pour obtenir de l'information sur la programmation Python avec Numpy et Scipy.

Commentez

Retrouvez Les notes de cours scientifiques de Python.

- Titre : Notes de cours Python scientifique

- Auteur : Emmanuelle Gouillart

- Traducteur : s0h3ck

- Parution : 17 novembre 2015

- Licence : Le contenu de cet article est rédigé par Emmanuelle Gouillart et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2013 Developpez.com.

Sommaire

- I. Obtenir de l'aide et trouver la documentation

- II. Remerciements

I - Obtenir de l'aide et trouver la documentation

Plutôt que de connaître toutes les fonctions dans Numpy et Scipy, c'est important de trouver rapidement l'information à travers la documentation et l'aide disponibles. Voici quelques astuces pour obtenir de l'information.

- Avec IPython, help function ouvre la docstring de la fonction. Tapez seulement le début du nom de la fonction et utilisez la complétion avec la touche de tabulation <tab> pour afficher les fonctions correspondantes.

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

Dans IPython, il n'est pas possible d'ouvrir une fenêtre séparée pour l'aide et la documentation. Toutefois, vous pouvez toujours ouvrir un second shell Ipython pour afficher l'aide et les docstrings.

- La documentation de Numpy et de Scipy peut être consultée en ligne à l'adresse http://docs.scipy.org/doc. Le bouton de recherche est très utile dans la documentation de référence des deux paquets (http://docs.scipy.org/doc/numpy/reference/ et http://docs.scipy.org/doc/scipy/reference/).

Des tutoriels sur divers sujets ainsi que l'API complète avec toutes les docstrings se trouvent sur ce site.

- La documentation de Numpy et Scipy est enrichie et mise à jour régulièrement par les utilisateurs du wiki, http://docs.scipy.org/numpy/. De ce fait, certaines docstrings sont plus claires ou plus détaillées sur le wiki et vous pouvez directement lire la documentation sur le wiki au lieu de le faire sur le site officiel. Notez que n'importe qui peut créer un compte sur le wiki et contribuer à la rédaction de la documentation. C'est un moyen simple de contribuer à un projet open source et d'améliorer les outils que vous utilisez !

- Le livre de recettes Scipy (http://www.scipy.org/Cookbook) donne des instructions sur plusieurs problèmes communs rencontrés, tels que les ajustements de courbes, la résolution d'équations différentielles ordinaires (ODE), etc.

- Le site web de Matplotlib (http://matplotlib.sourceforge.net/) abrite une galerie très agréable avec un grand nombre de graphiques, chacun d'entre eux montrant à la fois le code source et le résultat graphique. Cela est très utile pour apprendre à l'aide d'exemples. La documentation standard est aussi disponible.

- Le site web Mayavi (http://code.enthought.com/projects/mayavi/) a aussi une très belle galerie d'exemples (http://docs.enthought.com/mayavi/mayavi/auto/examples.html) dans laquelle on peut naviguer pour visualiser différentes solutions.

Enfin, deux autres possibilités « techniques » sont également utiles :

- dans Ipython, la fonction magique &psearch permet de trouver des correspondances ; elle est très utile si, par exemple, on ne connaît pas le nom exact d'une fonction :

In [3]: import numpy as np
In [4]: %psearch np.diag*
np.diag
np.diagflat
np.diagonal

- numpy.lookfor recherche des mots-clés à l'intérieur des docstrings des modules spécifiés :

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.

Si toutes les solutions énumérées ci-dessus échouent (et que Google n'a pas la réponse)… ne désespérez pas ! Écrivez à la bonne liste de diffusion pour exposer votre problème ; vous devriez avoir une réponse rapide si vous le décrivez correctement. Les experts en « Python scientifique » donnent souvent des explications très pertinentes sur la liste de diffusion.

- Discussion Numpy (numpy-discussion@scipy.org) : tout sur les tableaux Numpy, les manipulations, les questions d'indexation, etc.

- Liste des utilisateurs Scipy (scipy-user@scipy.org) : le calcul scientifique avec Python, le traitement de données de haut niveau, en particulier avec le paquet scipy.

- Matplotlib-users@lists.sourceforge.net pour tracer avec matplotlib.

II - Remerciements

Merci aux personnes suivantes pour leur aide durant la traduction :

- s0h3ck

- deusyss

- f-leb

Retrouvez Les notes de cours scientifiques de Python.

Commentez