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() :

Créer un module

Un module est un fichier .py. Vous pouvez donc créer très facilement vos propres modules.

Bonnes pratiques à respecter :

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é.