Vous êtes sur la page 1sur 9

NSI – Cours 05 Lycée Jean Rostand

Python – Librairies

1) Qu’est-ce qu’une librairie


Pour comprendre ce qu’est une librairie, prenons l’exemple de la librairie time que vous avez déjà
utilisé.
Certaines librairies comme time sont des librairies internes à Python. Il suffit de les importer pour
pouvoir y accéder.
Mais que contient la librairie time ? Pour le savoir, nous avons deux possibilités :
→ Utilisez la fonctions (que vous devez maintenant connaitre) help :

→ Voici la fonction sleep(…) que l’on a utilisée :

→ L’utilisation de la fonction dir permet d’obtenir l’ensemble des variables et des méthodes de la
librairie time. (Une méthode est une fonction liée à un objet)

→ Notre fonction sleep(…) en fait bien partie.

Lorsque ces méthodes sont utiles à notre projet, nous les importons (lors des premières lignes de
notre programme) avant de les utiliser.

1
NSI – Cours 05 Lycée Jean Rostand

2) Importer une librairie, utiliser ses méthodes


→ Lorsqu’on importe une librairie, on peut choisir de l’importer
sous son nom actuel :
→ Dans ce cas, nous devrons utiliser son nom en préfixe, à chaque
fois que l’on souhaite utiliser l’une de ses méthodes, comme
time.sleep(…) par exemple.

→ Il est possible de renommer la librairie : on appelle cela


créer un alias :
→ Dans l’exemple ci-contre, l’alias est tm.

→ Une autre possibilité pour éviter la réutilisation du nom


de la librairie (préfixe) est de l’importer de la manière
suivante :
→ On peut se contenter alors d’appeler juste la méthode !
→ L’utilisation de "*" indique que nous importons toutes les méthodes de la librairie time,
comme process_time, localtime, etc.

→ Nous pourrions importer seulement une méthode :


→ Dans ce cas, nous n’aurons accès qu’à sleep(…)

On peut aussi importer plusieurs méthodes …

3) Installer une librairie


Si la librairie n’est pas contenue dans le corps de Python, il se peut que nous devions l’installer.
Par exemple, pour la librairie pygame, voici ce qui vous attend si vous ne l’avez pas installée :

2
NSI – Cours 05 Lycée Jean Rostand

a) Installer une librairie avec Pyzo


Il faudra donc d’abord l’installer via la commande pip install <nom de la librairie>
Vous pourrez ensuite l’importer sans soucis :
→ Essayez d’installer pygame.

b) Installer une librairie avec Edupython


Edupython dispose de son propre système d’installation de librairie (module).
Il suffit de vous rendre dans Outils > Outils > Installer un module avec pip ou Installer un module
avec conda.
Vous verrez que certaines librairies ne s’installent pas correctement avec pip ou avec conda.
Indiquez ensuite simplement le nom du module et tout se fait tout seul !
Vous verrez que sur Edupython, certains modules comme pygame ou tkinter sont déjà installés !
→ Essayez d’installer la librairie future qui est une ancienne librairie permettant d’utiliser du
python en version supérieure à l’époque de la version 2. Totalement inutile pour nous, mais
cela vous permettra de tester !

4) Quelques exemples de librairies intéressantes


a) Dans le domaine scientifique
random numpy matplotlib
Permet de récupérer des Permet de faire du calcul matriciel, Avec les outils numpy,
générations de nombres de générer des tuples de nombres. permet de tracer des
aléatoires. Très pratiques pour C’est un outil numérique pratique. graphiques de toutes
les simulations, les jeux … sortes.

3
NSI – Cours 05 Lycée Jean Rostand

b) Dans le domaine graphique


tkinter pygame
Fournit des interfaces pour logiciels. Fournit des interfaces graphiques avec
interactions utilisateurs pour les jeux.

c) Testons tkinter !
L’une des qualités fondamentales d’une librairie est d’être facile à prendre en main : tkinter a cette
qualité. Elle est utilisée chaque année pour des projets numériques de baccalauréat.
→ Commencez par vérifier que tkinter est installé.

→ Exercice 1.1 : Écrivez le programme suivant dans un fichier que l’on nommera tkinter.py

Laissez-vous guider par les quelques commentaires présents dans ce code.


La boucle d’évènement (mainloop) est la base de l’interaction entre le programme et
l’utilisateur. Dans ce premier exemple, il n’y a pas d’interaction spécifique.

4
NSI – Cours 05 Lycée Jean Rostand

→ Exercice 1.2 : Complétez ce programme pour qu’il affiche votre prénom dans la boîte de texte
au clic du bouton.

→ Comment fait-on en sorte d’associer une partie du programme à un bouton ?


___________________________________________________________________________
Nous serons amenés à créer des projets sur tkinter, pour aller plus loin, je vous suggère
l’excellent site : Python et les interfaces graphiques — InitiationPython 1.5.1 documentation
(univ-lille.fr)

5
NSI – Cours 05 Lycée Jean Rostand

5) La librairie Turtle
Vous avez pu constater que si certains langages sont adaptés à la gestion
graphique, python n’est pas en reste avec un module intéressant : il s’agit de
Turtle.
Une simple recherche sur le Web permet de constater la richesse graphique
que permet ce module. Cependant, il ne faut pas croire que cela se limite à
de simples dessins. En effet, Tutle permet aussi de faire des jeux :

Turtle est une librairie qui permet de réaliser des dessins, disons-le franchement, un peu
rudimentaires : ce module était destiné au départ pour les enfants.
Pour utiliser ce module, nous avons plusieurs possibilités :
→ Soit on importe la librairie sous son nom, et on l’utilisera ses
méthodes préfixées : turtle.methode( … )

→ Soit on importe la librairie sous un alias, et on l’utilisera ses


méthodes préfixées : alias.methode( … )

→ Soit on importe toutes les méthodes, auquel cas le préfixe ne


s’impose plus

6
NSI – Cours 05 Lycée Jean Rostand

a) À la découverte de Turtle
i. Un premier exemple

→ Exercice 2.1 :
Recopiez le
script ci-contre
et exécutez-le.

▪ forward(n) avance de n pixels


▪ left(n) tourne à gauche de n degrés

ii. Un exemple de boucle

→ Exercice 2.2 : Recopiez le script ci-contre et exécutez-le.

Modifiez ce programme en ajoutant au bon endroit


color(‘red’)

iii. Le squelette d’un script

Vous devrez respecter le squelette général suivant :


from Turtle import * # ou import Tutle as alias

instructions
instructions

exitonclick() # Sortie en cliquant dans la fenêtre
mainloop() # lancement de la boucle d’évènements

7
NSI – Cours 05 Lycée Jean Rostand

iv. Les commandes de base

Il est possible de trouver rapidement toutes les méthodes de Turtle en effectuant la fonction
dir(turtle), mais vous pouvez aussi utiliser aussi help(turtle) ou sur une méthode particulière :

Fonction Rôle Type de données


Efface l’écran, recentre la tortue et remet les variables à
reset()
zéro
forward(n) Avance d’une distance donnée n → pixel
backward(n) Recule d’une distance donnée n → pixel
left(a) Pivote vers la gauche a → angle en degré
right(a) Pivote vers la droite a → angle en degré
up() Relève le crayon (pour pouvoir avancer sans dessiner)
down() Abaisse le crayon (pour recommencer à dessiner)
goto(x, y) Va à l’endroit de coordonnées (x, y) (x, y) → pixels
ht() Masque la tortue
st() Afficher la tortue
"blue" → Bleu
"red" → Rouge
"green" → Vert
"yellow" → Jaune
"brown" → Marron
color(couleur) Détermine la couleur du tracé (noir par défaut) "black" → Noir
"white" → Blanc
"pink" → Rose
"orange" → Orange
"purple" → Violet
"grey" → Gris
bgcolor("couleur") Préciser la couleur de l'arrière-plan de la scène idem
width(e) Choisit l’épaisseur du tracé e → pixel
Chaîne de caractère :
→ Vitesses proposées :
"slowest" → Le plus lent
speed(v) Choisit la vitesse à laquelle se déplace le curseur "slow" → Lent
"normal" → Normal
"fast" → Rapide
"fastest" → Le plus rapide
Trace un cercle de rayon donné. L’argument facultatif
r → pixel
circle(r, a) angle indique l’angle de l’arc de cercle (par défaut 360, soit
a → angle
un cercle complet)
Donne un titre à la fenêtre (par défaut le titre est Turtle
title(titre) Chaîne de caractère
Graphics)
write(texte) Écrit du texte Chaîne de caractère
begin_fill() Remplit un contour fermé à l’aide de la couleur
end_fill() sélectionnée

8
NSI – Cours 05 Lycée Jean Rostand

Attention !
▪ color(couleur) la couleur peut être définie aussi avec
le code RVB comme 100 pour le rouge
▪ begin_fill() et end_fill() le remplissage se fait sur
une courbe fermée et pour comprendre
comment faire, rien de tel qu’un
exemple !

→ Exercice 2.3 : Recopiez l’exemple ci-contre.


Modifiez les couleurs et la position des lignes 3 et 12 !

La fenêtre
Par défaut elle a une taille dont la largeur est 50% de celle de
l’écran et 75% de sa hauteur ; l’origine étant placée au centre.

On peut changer les paramètres de la fenêtre d’écran avec l’une des façons suivantes :

v. Les formes classiques

Nous allons maintenant nous intéresser à quelques formes géométriques de bases à savoir tracer !
→ Exercice 2.4 : Complétez la fonction suivante qui permettra de tracer un rectangle.

→ Exercice 2.5 : Créez une fonction polygone(n, cote, couleur) qui crée un polygone régulier à n
côtés de longueur cote de couleur donnée.
→ Exercice 2.6 : Réalisez une frise suivant le modèle ci-dessous, ce qui vous oblige à l’utilisation
d’une boucle.

Vous aimerez peut-être aussi