UtiliserJupyter : Différence entre versions

De M@gistère
Sauter à la navigation Sauter à la recherche
(Page créée avec « Comment utiliser les notebooks En haut du notebook, vous avez une barre de menu (sur fond bleu clair), contenant : un titre pour le notebook, avec un numéro de vers... »)
 
Ligne 1 : Ligne 1 :
Comment utiliser les notebooks
+
=== Comment utiliser les notebooks ===
 
 
 
En haut du notebook, vous avez une barre de menu (sur fond bleu clair), contenant :
 
En haut du notebook, vous avez une barre de menu (sur fond bleu clair), contenant :
 +
* un titre pour le notebook, avec un numéro de version ;
 +
* une barre de menus avec les entrées <code>File</code>, <code>Insert</code>, <code>Cell</code>, <code>Kernel</code>;
 +
* et une barre de boutons qui sont des raccourcis vers certains menus  fréquemment utilisés. Si vous laissez votre souris au dessus d'un  bouton, un petit texte apparaît, indiquant à quelle fonction correspond  ce bouton.
 +
Nous avons vu dans la vidéo qu'un notebook est constitué d'une suite
 +
de cellules, soit textuelles, soit contenant du code. Les cellules de
 +
code sont facilement reconnaissables, elles sont précédées de <code>In [ ]:</code>. La cellule qui suit celle que vous êtes en train de lire est une cellule de code.
  
    un titre pour le notebook, avec un numéro de version ;
+
Pour commencer, sélectionnez cette cellule de code avec votre souris,
    une barre de menus avec les entrées File, Insert, Cell, Kernel;
+
<nowiki> </nowiki>et appuyez dans la barre de menu - en haut du notebook, donc - sur  
    et une barre de boutons qui sont des raccourcis vers certains menus fréquemment utilisés. Si vous laissez votre souris au dessus d'un bouton, un petit texte apparaît, indiquant à quelle fonction correspond ce bouton.
+
celui en forme de flèche triangulaire vers la droite (Play) :
 
+
def perim(r):
Nous avons vu dans la vidéo qu'un notebook est constitué d'une suite de cellules, soit textuelles, soit contenant du code. Les cellules de code sont facilement reconnaissables, elles sont précédées de In [ ]:. La cellule qui suit celle que vous êtes en train de lire est une cellule de code.
+
    P = 2*3.14159*r
 
+
    return P
Pour commencer, sélectionnez cette cellule de code avec votre souris, et appuyez dans la barre de menu - en haut du notebook, donc - sur celui en forme de flèche triangulaire vers la droite (Play) :
 
 
 
def perim(r):
 
 
 
    P = 2*3.14159*r
 
 
 
    return P
 
  
perim(35)
+
perim(35)
 
 
219.91129999999998
 
  
 +
219.91129999999998
 
Comme vous le voyez, la cellule est "exécutée" (on dira plus volontiers évaluée), et on passe à la cellule suivante.
 
Comme vous le voyez, la cellule est "exécutée" (on dira plus volontiers évaluée), et on passe à la cellule suivante.
 +
Alternativement, vous pouvez simplement taper au clavier <strong><em>Shift+Enter</em></strong>, ou selon les claviers <strong><em>Maj-Entrée</em></strong>,
 +
<nowiki> </nowiki>pour obtenir le même effet. D'une manière générale, il est important
 +
d'apprendre et d'utiliser les raccourcis clavier, cela vous fera gagner
 +
beaucoup de temps par la suite.
  
Alternativement, vous pouvez simplement taper au clavier Shift+Enter, ou selon les claviers Maj-Entrée, pour obtenir le même effet. D'une manière générale, il est important d'apprendre et d'utiliser les raccourcis clavier, cela vous fera gagner beaucoup de temps par la suite.
+
La façon habituelle d'<em>exécuter</em> l'ensemble du notebook consiste :
 +
* à sélectionner la première cellule,
 +
* et à taper <strong><em>Shift+Enter</em></strong> jusqu'à attendre la fin du notebook.
 +
Lorsqu'une cellule de code a été évaluée, Jupyter ajoute sous la cellule <code>In</code> une cellule <code>Out</code> qui donne le résultat du fragment Python, soit ci-dessus 600.
  
La façon habituelle d'exécuter l'ensemble du notebook consiste :
+
Jupyter ajoute également un nombre entre les crochets pour afficher, par exemple ci-dessus, <code>In [1]:</code>. Ce nombre vous permet de retrouver l'ordre dans lequel les cellules ont été évaluées.
  
    à sélectionner la première cellule,
+
Vous
    et à taper Shift+Enter jusqu'à attendre la fin du notebook.
+
<nowiki> </nowiki>pouvez naturellement modifier ces cellules de code pour faire des
 +
essais ; ainsi vous pouvez vous servir du modèle ci-dessous pour
 +
calculer la racine carrée de 3, ou essayer la fonction sur un nombre
 +
négatif et voir comment est signalée l'erreur.
 +
# math.sqrt (pour square root) calcule la racine carrée
  
Lorsqu'une cellule de code a été évaluée, Jupyter ajoute sous la cellule In une cellule Out qui donne le résultat du fragment Python, soit ci-dessus 600.
+
import math
  
Jupyter ajoute également un nombre entre les crochets pour afficher, par exemple ci-dessus, In [1]:. Ce nombre vous permet de retrouver l'ordre dans lequel les cellules ont été évaluées.
+
math.sqrt(2)
 +
On peut également évaluer tout le notebook en une seule fois en utilisant le menu <em>Cell -> Run All</em>.
  
Vous pouvez naturellement modifier ces cellules de code pour faire des essais ; ainsi vous pouvez vous servir du modèle ci-dessous pour calculer la racine carrée de 3, ou essayer la fonction sur un nombre négatif et voir comment est signalée l'erreur.
+
=== Attention à bien évaluer les cellules dans l'ordre ===
 
+
Il
# math.sqrt (pour square root) calcule la racine carrée
+
<nowiki> </nowiki>est important que les cellules de code soient évaluées dans le bon  
 
+
ordre. Si vous ne respectez pas l'ordre dans lequel les cellules de code
import math
+
<nowiki> </nowiki>sont présentées, le résultat peut être inattendu.
 
+
En fait, évaluer un programme sous forme de notebook revient à le  
math.sqrt(2)
+
découper en petits fragments, et si on exécute ces fragments dans le  
 
+
désordre, on obtient naturellement un programme différent.
On peut également évaluer tout le notebook en une seule fois en utilisant le menu Cell -> Run All.
 
Attention à bien évaluer les cellules dans l'ordre
 
 
 
Il est important que les cellules de code soient évaluées dans le bon ordre. Si vous ne respectez pas l'ordre dans lequel les cellules de code sont présentées, le résultat peut être inattendu.
 
 
 
En fait, évaluer un programme sous forme de notebook revient à le découper en petits fragments, et si on exécute ces fragments dans le désordre, on obtient naturellement un programme différent.
 
  
 
On le voit sur cet exemple :
 
On le voit sur cet exemple :
 +
message = "Faites attention à l'ordre dans lequel vous évaluez les notebooks"
  
message = "Faites attention à l'ordre dans lequel vous évaluez les notebooks"
+
print(message)
 
 
print(message)
 
 
 
 
Si un peu plus loin dans le notebook on fait par exemple :
 
Si un peu plus loin dans le notebook on fait par exemple :
 +
# ceci a pour effet d'effacer la variable 'message'
  
# ceci a pour effet d'effacer la variable 'message'
+
del message
 +
qui rend le symbole <code>message</code> indéfini, alors bien sûr on ne peut plus évaluer la cellule qui fait <code>print</code> puisque la variable <code>message</code> n'est plus connue de l'interpréteur.
  
del message
+
=== Réinitialiser l'interpréteur ===
 +
Si
 +
<nowiki> </nowiki>vous faites trop de modifications, ou perdez le fil de ce que vous avez
 +
<nowiki> </nowiki>évalué, il peut être utile de redémarrer votre interpréteur. Le menu <em>Kernel → Restart</em>
 +
<nowiki> </nowiki>vous permet de faire cela, un peu à la manière de IDLE qui repart d'un
 +
interpréteur vierge lorsque vous utilisez la fonction F5.
  
qui rend le symbole message indéfini, alors bien sûr on ne peut plus évaluer la cellule qui fait print puisque la variable message n'est plus connue de l'interpréteur.
+
Le menu <em>Kernel → Interrupt</em>
Réinitialiser l'interpréteur
+
<nowiki> </nowiki>peut être quant à lui utilisé si votre fragment prend trop longtemps à
 +
s'exécuter (par exemple vous avez écrit une boucle dont la logique est
 +
cassée et qui ne termine pas).
  
Si vous faites trop de modifications, ou perdez le fil de ce que vous avez évalué, il peut être utile de redémarrer votre interpréteur. Le menu Kernel → Restart vous permet de faire cela, un peu à la manière de IDLE qui repart d'un interpréteur vierge lorsque vous utilisez la fonction F5.
+
=== Vous travaillez sur une copie ===
 +
Un
 +
<nowiki> </nowiki>des avantages principaux des notebooks est de vous permettre de  
 +
modifier le code que nous avons écrit, et de voir par vous-même comment
 +
se comporte le code modifié.
 +
Pour cette raison, chaque élève dispose de sa <strong>propre copie</strong>
 +
<nowiki> </nowiki>de chaque notebook, vous pouvez bien sûr apporter toutes les
 +
modifications que vous souhaitez à vos notebooks sans affecter les
 +
autres étudiants.
  
Le menu Kernel → Interrupt peut être quant à lui utilisé si votre fragment prend trop longtemps à s'exécuter (par exemple vous avez écrit une boucle dont la logique est cassée et qui ne termine pas).
+
=== Revenir à la version du cours ===
Vous travaillez sur une copie
+
Vous pouvez toujours revenir à la version "du cours" grâce au menu
 +
<em>File → Reset to original</em>.
  
Un des avantages principaux des notebooks est de vous permettre de modifier le code que nous avons écrit, et de voir par vous-même comment se comporte le code modifié.
+
Attention, avec cette fonction vous restaurez <strong>tout le notebook</strong> et donc <strong>vous perdez vos modifications sur ce notebook</strong>.
  
Pour cette raison, chaque élève dispose de sa propre copie de chaque notebook, vous pouvez bien sûr apporter toutes les modifications que vous souhaitez à vos notebooks sans affecter les autres étudiants.
+
=== Télécharger au format Python ===
Revenir à la version du cours
+
Vous pouvez télécharger un notebook au format Python sur votre ordinateur grâce au menu
 
+
<em>File → Download as → Python</em>
Vous pouvez toujours revenir à la version "du cours" grâce au menu File → Reset to original.
 
 
 
Attention, avec cette fonction vous restaurez tout le notebook et donc vous perdez vos modifications sur ce notebook.
 
Télécharger au format Python
 
 
 
Vous pouvez télécharger un notebook au format Python sur votre ordinateur grâce au menu File → Download as → Python
 
  
 
Les cellules de texte sont préservées dans le résultat sous forme de commentaires Python.
 
Les cellules de texte sont préservées dans le résultat sous forme de commentaires Python.
Partager un notebook en lecture seule
 
 
Enfin, avec le menu File → Share static version, vous pouvez publier une version en lecture seule de votre notebook ; vous obtenez une URL que vous pouvez publier, par exemple pour demander de l'aide sur le forum. Ainsi, les autres étudiants peuvent accéder en lecture seule à votre code.
 
  
Notez que lorsque vous utilisez cette fonction plusieurs fois, c'est toujours la dernière version publiée que verront vos camarades, l'URL utilisée reste toujours la même pour un étudiant et un notebook donné.
+
=== Partager un notebook en lecture seule ===
Ajouter des cellules
+
Enfin, avec le menu <em>File → Share static version</em>,
 +
<nowiki> </nowiki>vous pouvez publier une version en lecture seule de votre notebook ;
 +
vous obtenez une URL que vous pouvez publier, par exemple pour demander
 +
de l'aide sur le forum. Ainsi, les autres étudiants peuvent accéder en
 +
lecture seule à votre code.
  
Vous pouvez ajouter une cellule n'importe où dans le document avec le bouton + de la barre de boutons.
+
Notez
 +
<nowiki> </nowiki>que lorsque vous utilisez cette fonction plusieurs fois, c'est toujours
 +
<nowiki> </nowiki>la dernière version publiée que verront vos camarades, l'URL utilisée
 +
reste toujours la même pour un étudiant et un notebook donné.
  
Aussi, lorsque vous arrivez à la fin du document, une nouvelle cellule est créée chaque fois que vous évaluez la dernière cellule ; de cette façon vous disposez d'un brouillon pour vos propres essais.
+
=== Ajouter des cellules ===
 +
Vous pouvez ajouter une cellule n'importe où dans le document avec le bouton <strong>+</strong> de la barre de boutons.
 +
Aussi, lorsque vous arrivez à la fin du document, une nouvelle  
 +
cellule est créée chaque fois que vous évaluez la dernière cellule ; de  
 +
cette façon vous disposez d'un brouillon pour vos propres essais.
  
 
À vous de jouer.
 
À vous de jouer.

Version du 12 mars 2019 à 15:29

Comment utiliser les notebooks

En haut du notebook, vous avez une barre de menu (sur fond bleu clair), contenant :

  • un titre pour le notebook, avec un numéro de version ;
  • une barre de menus avec les entrées File, Insert, Cell, Kernel;
  • et une barre de boutons qui sont des raccourcis vers certains menus fréquemment utilisés. Si vous laissez votre souris au dessus d'un bouton, un petit texte apparaît, indiquant à quelle fonction correspond ce bouton.

Nous avons vu dans la vidéo qu'un notebook est constitué d'une suite de cellules, soit textuelles, soit contenant du code. Les cellules de code sont facilement reconnaissables, elles sont précédées de In [ ]:. La cellule qui suit celle que vous êtes en train de lire est une cellule de code.

Pour commencer, sélectionnez cette cellule de code avec votre souris, et appuyez dans la barre de menu - en haut du notebook, donc - sur celui en forme de flèche triangulaire vers la droite (Play) :

def perim(r):
    P = 2*3.14159*r
    return P
perim(35)
219.91129999999998

Comme vous le voyez, la cellule est "exécutée" (on dira plus volontiers évaluée), et on passe à la cellule suivante. Alternativement, vous pouvez simplement taper au clavier Shift+Enter, ou selon les claviers Maj-Entrée, pour obtenir le même effet. D'une manière générale, il est important d'apprendre et d'utiliser les raccourcis clavier, cela vous fera gagner beaucoup de temps par la suite.

La façon habituelle d'exécuter l'ensemble du notebook consiste :

  • à sélectionner la première cellule,
  • et à taper Shift+Enter jusqu'à attendre la fin du notebook.

Lorsqu'une cellule de code a été évaluée, Jupyter ajoute sous la cellule In une cellule Out qui donne le résultat du fragment Python, soit ci-dessus 600.

Jupyter ajoute également un nombre entre les crochets pour afficher, par exemple ci-dessus, In [1]:. Ce nombre vous permet de retrouver l'ordre dans lequel les cellules ont été évaluées.

Vous pouvez naturellement modifier ces cellules de code pour faire des essais ; ainsi vous pouvez vous servir du modèle ci-dessous pour calculer la racine carrée de 3, ou essayer la fonction sur un nombre négatif et voir comment est signalée l'erreur.

# math.sqrt (pour square root) calcule la racine carrée
import math
math.sqrt(2)

On peut également évaluer tout le notebook en une seule fois en utilisant le menu Cell -> Run All.

Attention à bien évaluer les cellules dans l'ordre

Il est important que les cellules de code soient évaluées dans le bon ordre. Si vous ne respectez pas l'ordre dans lequel les cellules de code sont présentées, le résultat peut être inattendu. En fait, évaluer un programme sous forme de notebook revient à le découper en petits fragments, et si on exécute ces fragments dans le désordre, on obtient naturellement un programme différent.

On le voit sur cet exemple :

message = "Faites attention à l'ordre dans lequel vous évaluez les notebooks"
print(message)

Si un peu plus loin dans le notebook on fait par exemple :

# ceci a pour effet d'effacer la variable 'message'
del message

qui rend le symbole message indéfini, alors bien sûr on ne peut plus évaluer la cellule qui fait print puisque la variable message n'est plus connue de l'interpréteur.

Réinitialiser l'interpréteur

Si vous faites trop de modifications, ou perdez le fil de ce que vous avez évalué, il peut être utile de redémarrer votre interpréteur. Le menu Kernel → Restart vous permet de faire cela, un peu à la manière de IDLE qui repart d'un interpréteur vierge lorsque vous utilisez la fonction F5.

Le menu Kernel → Interrupt peut être quant à lui utilisé si votre fragment prend trop longtemps à s'exécuter (par exemple vous avez écrit une boucle dont la logique est cassée et qui ne termine pas).

Vous travaillez sur une copie

Un des avantages principaux des notebooks est de vous permettre de modifier le code que nous avons écrit, et de voir par vous-même comment se comporte le code modifié. Pour cette raison, chaque élève dispose de sa propre copie de chaque notebook, vous pouvez bien sûr apporter toutes les modifications que vous souhaitez à vos notebooks sans affecter les autres étudiants.

Revenir à la version du cours

Vous pouvez toujours revenir à la version "du cours" grâce au menu File → Reset to original.

Attention, avec cette fonction vous restaurez tout le notebook et donc vous perdez vos modifications sur ce notebook.

Télécharger au format Python

Vous pouvez télécharger un notebook au format Python sur votre ordinateur grâce au menu File → Download as → Python

Les cellules de texte sont préservées dans le résultat sous forme de commentaires Python.

Partager un notebook en lecture seule

Enfin, avec le menu File → Share static version, vous pouvez publier une version en lecture seule de votre notebook ; vous obtenez une URL que vous pouvez publier, par exemple pour demander de l'aide sur le forum. Ainsi, les autres étudiants peuvent accéder en lecture seule à votre code.

Notez que lorsque vous utilisez cette fonction plusieurs fois, c'est toujours la dernière version publiée que verront vos camarades, l'URL utilisée reste toujours la même pour un étudiant et un notebook donné.

Ajouter des cellules

Vous pouvez ajouter une cellule n'importe où dans le document avec le bouton + de la barre de boutons. Aussi, lorsque vous arrivez à la fin du document, une nouvelle cellule est créée chaque fois que vous évaluez la dernière cellule ; de cette façon vous disposez d'un brouillon pour vos propres essais.

À vous de jouer.