Modules

2 h Niveau 5

Un module vous permet d'organiser logiquement votre code Python. Le regroupement de code apparenté dans un module rend le code plus facile à comprendre et à utiliser. Un module est un objet Python avec des attributs nommés arbitrairement que vous pouvez lier et référencer.

Plus simplement, un module est un fichier constitué de code Python. Un module peut définir des fonctions, des classes et des variables. Un module peut également inclure du code exécutable.

Exemple

Le code Python d'un module nommé aname se trouve normalement dans un fichier nommé aname.py. Voici un exemple d'un module simple, support.py :

def print_func(par):
    print("Hello :", par)
    return

L'instruction import

Vous pouvez utiliser n'importe quel fichier source Python comme module en exécutant une instruction import dans un autre fichier source Python. L'import a la syntaxe suivante :

import module1[, module2[,... moduleN]

Lorsque l'interpréteur rencontre une instruction import, il importe le module si celui-ci est présent dans le chemin de recherche. Un chemin de recherche est une liste de répertoires que l'interpréteur recherche avant d'importer un module. Par exemple, pour importer le module hello.py, vous devez placer la commande suivante en haut du script :

#!/usr/bin/python3

# Import module support
import support

# Now you can call defined function that module as follows
support.print_func("Zara")

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant :

Hello : Zara

Un module est chargé une seule fois, quel que soit le nombre de fois où il est importé. Cela permet d'éviter que l'exécution du module ne se répète, en cas d'importations multiples.

L'instruction from ... import

L'instruction from de Python vous permet d'importer des attributs spécifiques d'un module dans l'espace de noms actuel. L'instruction from...import à la syntaxe suivante :

from modname import name1[, name2[, ... nameN]]

Par exemple, pour importer la fonction Fibonacci du module fib, utilisez l'instruction suivante :

#!/usr/bin/python3

# Fibonacci numbers module

def fib(n): # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a + b
    return result
>>> from fib import fib
>>> fib(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

Cette instruction n'importe pas l'intégralité du module fib dans l'espace de noms actuel ; elle introduit simplement l'élément fibonacci du module fib dans la table de symboles globale du module d'importation.

L'instruction from ... import *

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus