Main.TutoPythonScript History
Hide minor edits - Show changes to markup
Il y a plusieurs manières d'aborder la programmation en python. L'enjeu consiste à trouver un compromis entre la vitesse de développement et la solidité du code.
- script + IDE : développement très rapide + débuggage facile (MAPSI)
- objet (+IDE/éditeur quelconque) : code ré-utilisable
- objet + pypi/cython... : code ré-utilisable et rapide
IDE: environnement de développement [EN MAPSI]
L'environnement Spyder est semblable à l'interface de Matlab, elle permet des opérations avancées simplement (visualisation des variables et de leur tailles...). Dans le cadre de MAPSI, nous utiliserons cette interface qui permet très facilement de développer des méthodes, les tester et les débugguer.
prompt$ spyder &
Alternative PyCharm n'est pas installé dans les salles de TME, mais sur vos machines personnelles, il s'agit d'une alternative assez interessante (PyCharm est souvent plus réactif que Spyder).
L'interface se présente comme:
- Fenêtre de gauche: pour taper le code
- Fenêtre de droite (haut): explorateur de variable (comme dans Matlab)
- Fenêtre de droite (bas): console
Il est possible d'exécuter directement le code que l'on vient d'écrire dans la console à l'aide des raccourcis F5 et F9.
ATTENTION aux chemins. Le chemin indiqué en haut à droite correspond au chemin courant, la console s'execute dans cet environnement.
Si on change l'environnement, il est nécessaire de redémarrer la console.
IDE: environnement de développement [EN MAPSI]
L'environnement Spyder est semblable à l'interface de Matlab, elle permet des opérations avancées simplement (visualisation des variables et de leur tailles...). Dans le cadre de MAPSI, nous utiliserons cette interface qui permet très facilement de développer des méthodes, les tester et les débugguer.
prompt$ spyder &
Alternative PyCharm n'est pas installé dans les salles de TME, mais sur vos machines personnelles, il s'agit d'une alternative assez interessante (PyCharm est souvent plus réactif que Spyder).
L'interface se présente comme:
- Fenêtre de gauche: pour taper le code
- Fenêtre de droite (haut): explorateur de variable (comme dans Matlab)
- Fenêtre de droite (bas): console
Il est possible d'exécuter directement le code que l'on vient d'écrire dans la console à l'aide des raccourcis F5 et F9.
ATTENTION aux chemins. Le chemin indiqué en haut à droite correspond au chemin courant, la console s'execute dans cet environnement.
Si on change l'environnement, il est nécessaire de redémarrer la console.
Travail dans la console
Travail dans la console [PAS EN MAPSI]
IDE: environnement de développement
IDE: environnement de développement [EN MAPSI]
Bibliothèques
Nous travaillerons beaucoup avec les librairies NumPy et Matplotlib: il faut donc les importer avant toute autre chose. De plus, comme avec n'importe quel language de script, il faut éviter les interférences entre les exécutions et donc purger la console avant toute nouvelle exécution. Tous vos scripts auront donc l'entête suivante:
(:source lang=python:) import numpy as np import matplotlib.pyplot as plt plt.close('all') # fermer les fenêtres (:sourceend:)
Dans ipython, vous pouvez taper reset
dans la console pour purger l'environnement.
Pour accéder à l'aide d'une fonction:
>>> ?nomDeLaFonction # générique (ipython) >>> ?np.minimum # exemple concret >>> help(np.minimum)
Travail dans la console
Les langages de script comme Python permettent:
- d'effectuer des opérations directement dans la console
- d'exécuter des scripts écrits dans des fichiers
Solution 1:
Travail dans la console
Lancer une console python:
prompt$ python Python 2.7.5 |Anaconda 1.7.0 (x86_64)| (default, Oct 24 2013, 07:02:20) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
NB: Si l'environnement est disponible, il est plus intéressant de lancer ipython (fonctions supplémentaires utiles, notamment dans le domaine de l'analyse numérique):
prompt$ ipython
Puis taper des commandes ligne par ligne ou appeler un script.
Exemple de commande:
Solution 2:
Lancement du script test.py
Dans le fichier test.py
:
Dans le fichier test.py
(écrit à l'aide de n'importe quel éditeur)
Solution 3:
Dans le cadre de MAPSI, nous travaillerons avec une IDE (spyder): dans ce cas là, l'interface se présente comme:
IDE: environnement de développement
L'environnement Spyder est semblable à l'interface de Matlab, elle permet des opérations avancées simplement (visualisation des variables et de leur tailles...). Dans le cadre de MAPSI, nous utiliserons cette interface qui permet très facilement de développer des méthodes, les tester et les débugguer.
prompt$ spyder &
Alternative PyCharm n'est pas installé dans les salles de TME, mais sur vos machines personnelles, il s'agit d'une alternative assez interessante (PyCharm est souvent plus réactif que Spyder).
L'interface se présente comme:
Lancement direct
Les scripts python sont aussi executable directement:
- Ecrire un script dans un fichier monScript.py
- Lancer
python monScript.py
et il s'exécute directement
- Fenêtre de gauche: pour taper le code
- Fenêtre de droite (haut): explorateur de variable (comme dans Matlab)
- Fenêtre de droite (bas): console
Il est possible d'exécuter directement le code que l'on vient d'écrire dans la console à l'aide des raccourcis F5 et F9.
ATTENTION aux chemins. Le chemin indiqué en haut à droite correspond au chemin courant, la console s'execute dans cet environnement.
Si on change l'environnement, il est nécessaire de redémarrer la console.
Solution 1:
Solution 1:
Solution 2:
Solution 2:
Solution 3:
Dans le cadre de MAPSI, nous travaillerons avec une IDE (spyder): dans ce cas là, l'interface se présente comme:
(Attach:)spyder.png
>>> help(np.minimum)
>>> help(np.minimum)
Retour vers le tutoriel complet
Travail dans la console
Les langages de script comme Python permettent:
- d'effectuer des opérations directement dans la console
- d'exécuter des scripts écrits dans des fichiers
Solution 1:
>>> a = 1 # creation de a
Solution 2:
(:colstart:)
>>> execfile('test.py') # exécution du script >>> run test.py # uniquement dans ipython
(:column:)
Dans le fichier test.py
:
(:source lang=python:)
# test.py a = 1
(:sourceend:) (:colend:)
Dans les deux cas, il est possible de visualiser et d'interagir avec les variables créées:
>>> a # affichage 1 >>>
Bibliothèques
Nous travaillerons beaucoup avec les librairies NumPy et Matplotlib: il faut donc les importer avant toute autre chose. De plus, comme avec n'importe quel language de script, il faut éviter les interférences entre les exécutions et donc purger la console avant toute nouvelle exécution. Tous vos scripts auront donc l'entête suivante:
(:source lang=python:) import numpy as np import matplotlib.pyplot as plt plt.close('all') # fermer les fenêtres (:sourceend:)
Dans ipython, vous pouvez taper reset
dans la console pour purger l'environnement.
Pour accéder à l'aide d'une fonction:
>>> ?nomDeLaFonction # générique (ipython) >>> ?np.minimum # exemple concret >>> help(np.minimum)