C1.1 : Généralités
Importer un module
Première méthode
import random
valDe = random.randint(1,6)
import random as rd
valDe = rd.randint(1,6)
Cette façon de faire importe l'ensemble du contenu du module dans un espace de noms (ici, "random" dans le premier exemple ou "rd" dans le deuxième). Cela a l'avantage d'éviter que des éléments qui auraient le même nom se court-circuitent.
Deuxième méthode
from random import *
valDe = randint(1,6)
from random import randint
valDe = randint(1,6)
Cette façon de faire importe l'ensemble du contenu du module (premier exemple) ou du contenu spécifié (deuxième exemple), sans espace de noms.
Obtenir de l'aide sur une fonction
Pour obtenir de l'aide, il faut utiliser la fonction help() :
- - soit dans le code :
from random import * help(randint) - - soit en ligne de commande :
>>> help(randint)
Créer un module
Un module est un fichier .py. Vous pouvez donc créer très facilement vos propres modules.
Bonnes pratiques à respecter :
- • Utiliser des noms parlants pour les différents éléments du module (classes, méthodes de classes, fonctions, variables globales...).
- • Toujours documenter les éléments du module (fonctions, classes et méthodes de classes) avec des docstrings.
Pour tester les méthodes du module dans le fichier du module :
Il est possible d'insérer des instructions dans le module de telle façon que ces instructions ne soient exécutées que si le module est lancé directement et pas si le module est importé. Cela se fait en plaçant ces instructions dans le code suivant :
if __name__ == '__main__':
# instructions
Application
1) Création du module
1.a) Créer un fichier appelé fct_listes.py et y coller le code ci-dessous.
"""
Module qui propose un ensemble de fonctions sur les listes d'entiers
"""
def max_liste(l:list) -> int:
"""
Renvoie la plus grande valeur d'une liste non vide d'entiers
Exemples :
>>> max_liste([10, 20, 5])
20
"""
assert l !=[], "La liste ne doit pas être vide"
m = l[0]
for elt in l:
if elt > m:
m = elt
return m
def min_liste(l:list) -> int:
"""
Renvoie la plus petite valeur d'une liste non vide d'entiers
Exemples :
>>> min_liste([10, 20, 5])
5
"""
assert l !=[], "La liste ne doit pas être vide"
m = l[0]
for elt in l:
if elt < m:
m = elt
return m
if __name__ == '__main__':
import doctest
doctest.testmod(verbose = True)
1.b) Lancer l'exécution du fichier et observer que le code des lignes 34 et 35 est exécuté.
2) Utilisation du module
2.a) Créer un nouveau fichier appelé utilisation.py dans lequel on importera le module du 1) et on écrira un programme pour utiliser les fonctions qu'il contient.
2.b) Lancer l'exécution du nouveau fichier et observer que le code des lignes 34 et 35 du fichier fct_listes.py n'est pas exécuté.