Tutoriel Pong
Nous avons déjà utilisé une librairie dans le début du code : pygame
. Nous détaillons un peu plus les notions de module, librairies et leur utilisation.
-
Un module est un fichier Python unique de la forme
nom_du_module.py
contenant des variables globables, des fonctions et des classes. Généralement un module contient des outils pertinent pour une certaine thématique (mathématique, traitement d'images, son, etc.).
-
Une librairie est un ensemble de modules aussi appelé package.
-
pygame
: outils de création de jeux vidéos
-
time
: gestion du temps
-
random
: fonctions aléatoires, probabilités
-
sys
: paramètres et fonctions système
-
math
: contient les fonctions mathématiques usuelles
-
os
: gestion des fichiers et des dossiers
-
numpy
: calcul numérique, matriciel, etc.
-
mathplotlib
: tracé de graphiques
-
simpy
: calcul symbolique
-
renpy
: moteur de jeu permettant de développer un visual novel
Il existe de nombreux modules spécifiques répondant à des besoins précis.
Vous pouvez tester les commandes suivantes dans la console :
Dans la console, tester les commandes suivantes :
-
import math
: importation du module contenant les fonctions mathématiques
-
math.sqrt(2)
: calcul de $\sqrt{2}$.
-
sqrt(2)
n'est pas directement reconnu, le préfixe math
est obligatoire.
-
import pygame
: importation de la librairie pygame (et de ses sous-modules)
-
import pygame.draw
: importation du module draw seulement contenant les fonctions de dessins (cercles, rectangles, etc.).
-
import math, sys, pygame
: importation de plusieurs modules en une ligne de code.
Le point "." désigne une relation de parentée dans l'arborescence des modules.
Les librairies comme pygame peuvent contenir des modules et d'autres librairies. On peut d'ailleurs mieux comprendre la structure de pygame grâce à la cartographie interactive (non exhaustive) suivante :
Pour tracer un cercle, on peut parcourir la librairie de la manière suivante : pygame.draw.circle(...)
(déjà utilisé dans pong0.py).
Dans la console, tester les commandes suivantes :
-
from math import sqrt
: importation de la fonction math.sqrt()
.
-
sqrt(2)
: calcul de $\sqrt{2}$ fonctionne sans le préfixe.
-
from math import *
importation de toute les fonctions du module math. Le joker *
signifie "tout".
-
cos(pi)
: vaut -1. math.cos()
et math.pi
ont été ajoutés aux fonctions disponibles directement.
-
from pygame.draw import *
: importation de toutes les fonctions de dessin. On peut maintenant utiliser circle()
directement au lieu de pygame.draw.circle()
.
-
from pygame.display import *
: importation de toutes les fonctions d'affichage. On peut maintenant utiliser quit()
directement au lieu de pygame.display.quit()
pour fermer la fenêtre.