Python - Modules

Bonjour à tous, futurs sorciers Python !aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des modules Python. Ne vous inquiétez pas si vous êtes nouveau dans la programmation ; je serai votre guide amical, expliquant tout pas à pas. Alors, prenez votre baguette virtuelle (clavier), et plongeons-y !

Python - Modules

Modules Python

Imaginez que vous construisez un château magique (votre programme). Au lieu de tout construire à partir de zéro, ne serait-il pas génial si vous aviez des tours, des murs et des portes préfabriqués que vous pourriez simplement insérer en place ? C'est exactement ce que sont les modules en Python - du code pré-écrit que vous pouvez facilement utiliser dans vos programmes.

Modules Intégrés Python

Python est fourni avec un trésor de modules intégrés. Ce sont comme des sorts magiques gratuits que vous pouvez utiliser dès maintenant. Essayons-en un !

import random

# Générer un nombre aléatoire entre 1 et 10
magic_number = random.randint(1, 10)
print(f"Votre nombre magique est : {magic_number}")

Dans cet exemple, nous utilisons le module random pour générer un nombre aléatoire. C'est comme tirer un lapin d'un chapeau, mais avec des nombres !

Modules Définis par l'Utilisateur

Bien que les modules intégrés soient géniaux, il arrive parfois que vous ayez besoin de créer vos propres sorts magiques. C'est là que les modules définis par l'utilisateur deviennent pratiques.

Création d'un Module Python

Créons un module simple appelé magic_spells.py :

# magic_spells.py

def léviter(objet):
return f"{objet} flotte dans les airs !"

def disparaître(objet):
return f"{objet} a disparu dans le vide !"

Maintenant, nous avons notre propre module avec deux fonctions magiques !

L'Instruction import

Pour utiliser notre module nouvellement créé, nous devons l'importer :

import magic_spells

# Utiliser les fonctions de notre module
print(magic_spells.léviter("livre"))
print(magic_spells.disparaître("lapin"))

Sortie :

livre flotte dans les airs !
lapin a disparu dans le vide !

L'Instruction from ... import

Parfois, vous avez besoin de sorts spécifiques d'un module. C'est là que from ... import devient pratique :

from magic_spells import léviter

# Maintenant, nous pouvons utiliser léviter directement sans préfixe magic_spells
print(léviter("chaise"))

Sortie :

chaise flotte dans les airs !

L'Instruction from...import *

Si vous souhaitez importer tous les sorts d'un module, vous pouvez utiliser from...import * :

from magic_spells import *

# Maintenant, nous pouvons utiliser toutes les fonctions directement
print(léviter("table"))
print(disparaître("chapeau"))

Cependant, soyez prudent avec celui-ci ! C'est comme ouvrir la boîte de Pandore - vous pourriez accidentellement écraser des fonctions existantes si elles portent le même nom.

L'Instruction import ... as

Parfois, les noms des modules peuvent être longs ou confus. Vous pouvez leur donner un surnom en utilisant import ... as :

import magic_spells as sorts

print(sorts.léviter("crayon"))

Localisation des Modules

Python recherche des modules à plusieurs endroits :

  1. Le répertoire actuel
  2. PYTHONPATH (si défini)
  3. Le répertoire par défaut dépendant de l'installation

La Variable PYTHONPATH

PYTHONPATH est comme une carte magique qui indique à Python où trouver des modules supplémentaires. Vous pouvez le définir dans les variables d'environnement de votre système.

Espaces de Noms et Portée

Pensez aux espaces de noms comme à des royaumes différents dans votre monde magique. Chaque module a son propre espace de noms, empêchant les conflits entre des fonctions ou des variables de noms similaires.

Attributs des Modules

Les modules ont des attributs spéciaux. Explorons-en quelques-uns :

import magic_spells

print(magic_spells.__name__)  # Affiche le nom du module
print(magic_spells.__file__)  # Affiche le chemin du fichier du module

L'Attribut name

L'attribut __name__ est spécial. Il est __main__ lorsque le script est exécuté directement, et le nom du module lorsqu'il est importé.

# Dans magic_spells.py, ajoutez :
if __name__ == "__main__":
print("Ce module est exécuté directement")
else:
print("Ce module est importé")

La Fonction dir()

La fonction dir() est comme un miroir magique qui vous montre tous les noms définis dans un module :

import magic_spells

print(dir(magic_spells))

La Fonction reload()

Si vous apportez des modifications à un module et souhaitez le recharger sans redémarrer Python, vous pouvez utiliser reload() :

from importlib import reload
import magic_spells

# Apporter des modifications à magic_spells.py
reload(magic_spells)

Paquets en Python

Les paquets sont comme des livres de sorts qui contiennent plusieurs modules. Ils sont simplement des répertoires avec un fichier spécial __init__.py.

Voici un tableau résumant les méthodes d'importation que nous avons apprises :

Méthode Syntaxe Exemple
Importation de Base import nom_du_module import magic_spells
Importation Partielle from nom_du_module import nom_de_la_fonction from magic_spells import léviter
Importation Totale from nom_du_module import * from magic_spells import *
Importation avec Alias import nom_du_module as alias import magic_spells as sorts

Et voilà, apprentis ! Vous avez juste appris les bases des modules Python. N'oubliez pas, la pratique fait le maître, alors continuez à expérimenter avec différents modules et créez votre propre monde magique Python. Bon codage !

Credits: Image by storyset