Calcul Scientifique avec
3
B Introduction - Prise en main
Jean-Luc Charles - Éric Ducasse
"la programmation doit être un plaisir...", G. van Rossum
· Langage de programmation proposé dans les années 90 parGuido van Rossum
qui a choisi le nom Python en hommage à la sérieMonty Python.
· Un langage interprété, puissant, compact, visuel.
· Multi paradigmes, supportant les principaux styles de programmation :
impératif,procédural,orienté objet...
· Multi plateformes : GNU/Linux, Mac OS X, Windows...
· Libre et gratuit : logicielOpen Source (www.opensource.org) distribué sous la licencePSF
· Très polyvalent, grâce à de nombreux modules couvrant des domaines très variés :
numpy algèbre linéaire, matrices, vecteurs, systèmes linéaires...
scipy probalilité/statistiques, FFT 1D, 2D..., filtrage numérique, images ;
matplotlib tracé de courbes (look & feel MatLab,) ;
os manipulation des répertoires et des fichiers...
· Disposant d’une communauté d’utilisateurs très active.
· Simple à prendre en main ; de plus en plus utilisé en recherche, enseignement, industrie...
· Enseigné au lycée (programme 2009, classe de seconde),
au programme des classes prépa (depuis la rentrée 2013).
· Utilisé par des acteurs majeurs du monde industriel :
Python est un langage interprété
· Interpréteur interactif amélioré
B Plus d’interactivité avec les modules de tracés de courbes (pylab, pylab...) et le système
d’exploitation (%magic).
B Cellules question/réponse numérotées... (In[n] / Out[n]).
B Facilités pour charger le module pylab : graphiques, tracés de courbes interactifs... et
bien plus encore !
B Facilités pour le calcul paralléliséipyparallel.readthedocs.io/en/latest.
B Propose la déclinaison notebook : comme unnotebook Mathematica,
Distributions du site
Python.org
www.python.org/downloads· Ne propose "que" : interpréteur Python + modules de lastandard library
Distributions du site
Python.org
www.python.org/downloads· Le travail avec Python (calcul scientifique...) nécessite l’installation de modules
supplémen-taires !
· Windows/Mac OS X : l’installation de paquets supplémentaires peut paraître difficile pour
Ajout de modules
pypi.python.org· Le sitePypi.python.orgest le dépôt officiel des modules Python :
· GNU/LinuxetMac OS Xdans un terminal, taper la commande :
B pip install nom_du_module, pour une installationutilisateur
B sudo pip install nom_du_module, pour une installationadministrateur
B en fonction de votre installation, utiliser la commande pip ou pip3.
· Windows, dans une concole cmd.exe, Anaconda prompt...
Distributions Python
· L’utilisation d’une distribution (Python(x,y),WinPython,Canopy,Anaconda...) facilite le
Installation de Python pour
GNU/Linux
· Le principe est très simple :
B tous les modules Python sont disponibles dans les distributions GNU/Linux
B il suffit d’installer les paquets Python en fonction des besoins
- avec l’installeur graphique (logithèque, muon, synaptic...),
- ou avec la ligne de commande (adept, apt-get, yum...) de votre distribution.
B matplotlibpour Python 3.x n’est disponible que pour x> 3
⇒ version de GNU/Linux récentes : Ubuntu 14.04 (Trusty), Debian testing (Jessie)...
⇒ versions antérieures : utiliserAnacondaqui installe Python 3.x, x>3.
· PaquetsPython 2.7(Ubuntu 12.04Precise, Debian Wheezy...)
python2.7 python-numpy python-scipy python-matplotlib python-qt4...
· PaquetsPython 3.x(Ubuntu 14.04Trusty, Debian Jessie...)
Installation de Python pour
Windows
· La distribution de base proposée surPython.orgn’inclut pas les modules numpy, scipy...
· L’installationà la main de certains modules peut être difficile pour des utilisateurs
débu-tants.
· Le plus simple : utiliser un logiciel installateur, qui se charge d’installer les nombreux
modules utiles au calcul scientifique ainsi que les EDI les plus connus (IDLE, Spyder...).
· Installateurs libres
B Python scientifiquePython(x,y), ne propose à ce jour que Python 2.7
B WinPython scientifiqueWinPython, propose Python 2.7 et 3.5
· Installateurs propriétaires (gratuits)
B proposent des versions académiques et/ou gratuites
B Continuum Analytics :Anaconda, propose Python 2.7 et 3.5
B Enthought :Canopy, ne propose à ce jour que Python 2.7
· La coexistence de plusieurs versions (distributions) de Python est possible, mais doit être
Installation de Python pour
Mac OS X
· La disribution Python 2.7 installée de base avec Mac OS X sert au système d’exploitation.
Elle ne comprend pas les modules numpy, scipy, matplolib...
· L’installationà la main de certains modules peut paraître difficile pour des utilisateurs
débutants.
· Le plus simple : utiliser un logiciel installateur, qui se charge d’installer les nombreux
modules utiles au calcul scientifique ainsi que les EDI les plus connus (IDLE, Spyder...).
· Installateurs propriétaires gratuits
B proposent des versions académiques et/ou gratuites
B Continuum Analytics :Anacondapropose Python 2.7 et 3.5
IPython
installation· GNU/Linux
B Installer le paquet ipython de votre distribution.
Pour Ubuntu ou Debian : installeripython3(Python3.x), ouipython(Python 2.7).
B Terminal : taper la commande ipython3 (ou ipython)
· Mac OS X
B Inclus dans les Installateurs (Canopy, Anaconda...)
B Terminal : taper la commande ipython.
· Windows
B Inclus dans les installateurs (Python(x,y), WinPython, Anaconda...)
B Invite de commande : taper la commande ipython (ou ipython3)
Console Python
L’outil le plus simple pour travailler avec Python :
Console exécutant l’interpréteur Python en "mode caractère".
· GNU/Linux
B Terminal : taper la commande python (ou python3)
· Mac OS X
B Terminal : taper la commande python (ou python3)
· Windows
B Invite de commande : taper la commande python (ou python3)
B PythonXY : propose plusieurs types de consoles...
B WinPython : propose plusieurs types de consoles...
IDLE
IDE (Integrated Development Environment)
· Présent dans toutes les distributions Python, très utile pour des essais rapides.
(mais peut poser des problèmes avec Mac OS X -> Canopy...)
· Le plus simple des IDE, avec colorisation syntaxique (éditeur et interpréteur).
IDLEX (IDLE eXtensions)
http://idlex.sourceforge.net/· Numérotation des lignes, ouverture de plusieurs fichiers dans des onglets.
· Choix de l’interpréteur Python ou IPython.
· Gestion native de l’historique des commandes avec le curseur.
Spyder
github.com/spyder-ide/spyder· UnMatLab-like, écrit en Python ! Très complet, convivial, efficace...
· Propose beaucoup degoodies : object inspector, help, debugger, Qt Designer...
· Propose unworkspace analogue à celui de Matlab pour visualiser les données.
· Propose de l’aide interactive.
· Fournit les 2 outils fondamentaux : éditeur / interpréteur Python (ou IPython).
· Compatible Python 3 dans les distributions WinPython et Anaconda.
· GNU/Linux
B Python 2.7: installé avec les paquets debian
Jupyter Notebook
jupyter.org· Se lance par la commande "jupyter notebook" ou avec un menu dédié.
· Un notebook se présente comme un onglet d’un navigateur HTML, qui dialogue avec un
noyau IPython.
· Les cellules d’entrée acceptent le langage à balise Markdown (support de LATEX).
· [Shift]+[Entrée]exécute la cellule avec IPython.
· Les fichiers Notebook ont l’extension .ipynb.
· InstallationGNU/Linux
B ModulePython 2.7à installer avec la commande sudo pip install jupyter
B ModulePython 3.xà installer avec la commande sudo pip3 install jupyter
· InstallationMac Os XetWindows
Références bibliographiques
http://docs.python.org/index.html
https://openclassrooms.com/courses/apprenez-a-programmer-en-python
Apprenez à programmer en Python Vincent Le Goff
Simple IT éd. (Le livre du zéro) ISBN 979-10-90085-03-9 :
:25 ¤
Apprendre à programmer avec Python 3 Gérard Swinnen