Main

Main.TutoPythonScript History

Hide minor edits - Show changes to markup

June 23, 2017, at 10:08 AM EST by 132.227.202.156 -
Changed lines 4-7 from:
to:

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.

  1. script + IDE : développement très rapide + débuggage facile (MAPSI)
  2. objet (+IDE/éditeur quelconque) : code ré-utilisable
  3. objet + pypi/cython... : code ré-utilisable et rapide
June 22, 2017, at 03:42 PM EST by 132.227.202.156 -
Added lines 7-35:

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).

Dans le cadre de MAPSI, nous travaillerons avec une IDE (spyder): dans ce cas là, 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.

Deleted lines 75-101:

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).

Dans le cadre de MAPSI, nous travaillerons avec une IDE (spyder): dans ce cas là, 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.

Changed lines 7-8 from:

Travail dans la console

to:

Travail dans la console [PAS EN MAPSI]

Changed line 48 from:

IDE: environnement de développement

to:

IDE: environnement de développement [EN MAPSI]

Deleted lines 80-99:

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)
Changed lines 3-10 from:

Travail dans la console

Les langages de script comme Python permettent:

  1. d'effectuer des opérations directement dans la console
  2. d'exécuter des scripts écrits dans des fichiers

Solution 1:

to:

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:

Changed lines 27-28 from:

Solution 2:

to:

Lancement du script test.py

Changed line 33 from:

Dans le fichier test.py:

to:

Dans le fichier test.py (écrit à l'aide de n'importe quel éditeur)

Changed lines 46-49 from:

Solution 3:

Dans le cadre de MAPSI, nous travaillerons avec une IDE (spyder): dans ce cas là, l'interface se présente comme:

to:

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).

Dans le cadre de MAPSI, nous travaillerons avec une IDE (spyder): dans ce cas là, L'interface se présente comme:

Added lines 74-80:

Lancement direct

Les scripts python sont aussi executable directement:

  1. Ecrire un script dans un fichier monScript.py
  2. Lancer python monScript.py et il s'exécute directement
Added lines 38-48:
  • 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.

Changed line 36 from:
to:
Changed line 36 from:
to:
Changed line 36 from:
to:
Changed line 36 from:

(Attach:)spyder.png

to:
Changed lines 9-10 from:

Solution 1:

to:

Solution 1:

Changed lines 13-14 from:

Solution 2:

to:

Solution 2:

Added lines 32-38:

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

Changed line 57 from:
  >>> help(np.minimum) 
to:
  >>> help(np.minimum) 
Added lines 1-50:

Retour vers le tutoriel complet

Travail dans la console

Les langages de script comme Python permettent:

  1. d'effectuer des opérations directement dans la console
  2. 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)