Code
Python version 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
Autosaving every 300 seconds
Gloria FACCANONI
22 mars 2024
Python version 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
Autosaving every 300 seconds
Lorsqu’on ouvre un terminal, un programme interpréteur de commandes système est lancé et attend les commandes pour les exécuter. De la même façon, en arrière-plan d’un notebook, un interpréteur de code a été lancé et attend lui aussi qu’on lui donne du code. Dans le coin supérieur droit vous pouvez voir qu’il s’agit ici de l’interpréteur Python 3.
Un notebook est constitué de cellules successives. Les cellules pour écrire du code sont repérables par le prompt In[ ]
. Essayons :
Le texte 2 / 3
a été transmis à l’interpréteur Python 3. Il s’agit d’une expression Python 3 valide. L’interpréteur a donc pu l’évaluer. La valeur de l’expression (dont le type est ici un nombre flottant) est alors récupérée et représentée sous la forme du texte affiché à droite du prompt de sortie.
N’oubliez pas que vous êtes dans un notebook. Vous pouvez donc modifier l’expression ci-dessus et la ré-exécuter en appuyant sur [Shift-ENTER]
. Le numéro entre crochet est un compteur. Il est incrémenté à chaque sollicitation de l’interpréteur.
L’exécution de l’instruction ci-dessus n’a produit aucun résultat en sortie. Cette instruction a cependant eu un effet. Elle a modifié l’état de l’interpréteur. En interne, l’interpréteur a associé la valeur de l’expression 2+2
(c’est-à-dire le type entier 4
) au nom hauteur
.
On peut alors exécuter :
Lorsque vous ouvrez un notebook vous le visualisez tel qu’il a été sauvegardé. Vous voyez en particulier les résultats des séquences de code qui ont été exécutées. Cependant, à l’ouverture du notebook, un nouvel interpréteur tout neuf est lancé. Vous devez donc exécuter à nouveau les cellules. Mais dans quel ordre? La réponse naturelle est “dans l’ordre où apparaissent les cellules”… mais cela suppose que la personne qui a réalisé le notebook a fait correctement les choses.
Pour commenter une ou plusieurs lignes, les selectionner et appuyer sur [Ctrl-/]
:
Le polycopié d’initiation à la programmation informatique avec Python de notre L1 Mathématiques est disponible sur Moodle à l’adresse suivante :
IPython est un environnement interactif de programmation en Python. Il est plus complet que l’interpréteur Python standard.
Dans certaines situations, l’interpréteur peut s’interrompre en levant une exception. On en rencontre souvent, en particulier lorsque l’on commet des erreurs de programmation.
Pour comprendre ce qui a produit l’exception il faut :
IndexError
,'list index of range'
,T[3]
à la ligne 2.Il se peut aussi que le code que l’on exécute ne se termine pas :
Lorqu’une cellule de code s’exécute le prompt comporte une étoile In[ *]
. Pour interrompre l’interpréteur, il suffit d’appuyer deux fois sur la touche I
. Si cela s’avère nécessaire, il est également possible de redémarrer l’interpréteur. Pour cela il faut appuyer deux fois sur la touche 0
. L’interpréteur se retrouve alors dans son état initial.
Dans un programme Python la fonction print
permet d’écrire sur la sortie standard.
Remarquez que l’exécution du code ci-dessus n’a retourné aucune valeur. Il n’y a pas de prompt Out[ ]
. Remarquez aussi que chaque fonction print a également envoyé un caractère saut de ligne sur la sortie standard.
[TAB]
complète le nom automatiquement. Si plusieurs noms sont possibles un menu contextuel vous propose de choisir. Ceci économise de la frappe tout en évitant les erreurs d’orthographe dans les noms des variables.[Shift-TAB]
affiche une infobulle qui donne un descriptif succinct de l’objet désigné par ce nom. C’est un moyen rapide de vérifier par exemple quels sont les arguments qui sont attendus par une fonction.?
juste après le nom et d’appuyer sur la touche [Enter]
. Un pager s’ouvre alors avec la dite documentation.Lorsque le texte de la cellule débute par un !
alors IPython en déduit que le reste du texte n’est pas du code python mais une commande système qui doit être exécutée par le Shell. Autrement dit IPython peut se substituer au terminal.
total 96
drwxr-xr-x 2 minnolina minnolina 4096 déc. 12 2019 Images
-rw-rw-r-- 1 minnolina minnolina 18450 mars 18 2020 run_code_cell_image.png
-rw-r--r-- 1 minnolina minnolina 11839 mars 22 09:59 TP0-A-Notebook.ipynb
-rw-rw-r-- 1 minnolina minnolina 31280 mars 22 10:03 TP0-B-Markdown.ipynb
-rw-r--r-- 1 minnolina minnolina 27419 mars 22 10:04 TP0-C-Python.ipynb
Les commandes magiques sont un ensemble de commandes spécifiques aux notebook précédées de %
.
Voici quelque commande magique qu’on utilisera pour nos notebook.
%matplotlib inline
& %matplotlib notebook
Si la commande magique %matplotlib
est appelée sans argument, la sortie d’une commande de traçage est affichée à l’aide du backend matplotlib par défaut dans une fenêtre séparée.
Alternativement, le backend peut être explicitement demandé en utilisant, par exemple:
%matplotlib inline
: la sortie est affichée directement sous la cellule de code qui l’a produite,%matplotlib notebook
: la sortie est affichée directement sous la cellule de code qui l’a produite et, de plus, permet des figures interactives.%autosave 300
Sauvegarde automatiquement le notebook tous les 300 secondes (=5 minues)
%who
, %whos
et %reset
%who
, %whos
affichent la liste les variables en mémoire pour la session courante et des variables et objets persistants.%reset
efface les variables définies;%reset -f
efface les variables définies sans demander confirmation.