Chapitre 11 - Introduction aux modules#

Un fichier = un module#

Et oui, vous faites des modules sans le savoir depuis le début :)

Un fichier foo.py correspond toujours module foo

Attention: Ce n’est pas tout à fait réciproque. Le module foo peut venir d’autre chose qu’un fichier foo.py.

Importer un module#

Ou : accéder à du code provenant d’un autre fichier source.

Créons un fichier bonjour.py contenant seulement une assignation de l’entier 42 à la variable a :

# Dans bonjour.py
a = 42

Comme un fichier = un module, on vient de créé un module bonjour contenant une variable a.

Si maintenant on crée un fichier salutations.py dans le même répertoire, on peut accéder à cette variable en important le module avec le mot-clé import :

# Dans salutations.py
import bonjour
print(bonjour.a)
# affiche: 42

Note

Le nom du module est écrit directement, ce n’est pas une chaîne de caractères.

On voit que la variable a dans bonjour.py est devenue un attribut du module bonjour lorsqu’il a été importé.

Si maintenant on rajoute une fonction dire_bonjour dans bonjour.py:

# Dans bonjour.py
a = 42
def dire_bonjour():
    print("Bonjour!")

On peut appeler la fonction dire_bonjour() depuis salutations.py en utilisant la méthode dire_bonjour() du module bonjour:

# Dans salutations.py
import bonjour
bonjour.dire_bonjour()
# affiche: Bonjour!

Les imports ne sont faits qu’une seule fois#

Il est important de noter que :

  • tout le code à l’intérieur d’un module est exécuté lors du premier import ;

  • mais il n’est pas ré-exécuté si le module a déjà été importé auparavant.

On peut le voir en mettant du code dans bonjour.py, en plus des simples définitions de fonctions et de créations de variables :

# Dans bonjour.py
print("Je suis le module bonjour et tu viens de m’importer")
def dire_bonjour():
    ....
# Dans salutation.py
import bonjour
# affiche: Je suis le module bonjour et tu viens de m’importer

import bonjour
# affiche: rien

La bibliothèque standard#

La bibliothèque standard est une collection de modules directement utilisables fournis à l’installation de Python.

Exemple: sys, random, …

Toute la bibliothèque standard est documentée, et la traduction en Français est en cours :

https://docs.python.org/fr/3/library/index.html

Mettez ce lien dans vos favoris, il vous sera très utile.

Quelques exemples de modules de la bibliothèque standard#

Easter eggs#

(Ou fonctionnalités cachées)

  • import antigravity

  • import this

Je vous laisse découvrir ce que fait le premier. Quant au deuxième, il contient une liste de préceptes que la plupart des développeurs Python s’efforcent de respecter. On en reparlera …