Tous les cours gratuit

cours et tutoriel python

langage python: comprendre les modules et les importations

Dans ce tutoriel python, nous vous parlons des modules et les importions.

Structurer le code python : modules, importations et espaces de noms

À mesure que nous nous aventurons dans la création de programmes de plus en plus élaborés, il devient pertinent de structurer le code en plusieurs fichiers. Chaque fichier .py individuel est désigné comme un module. En application, l’introduction d’un module se réalise en utilisant la fonction “import” suivie du nom du module, qui par défaut correspond au nom du fichier (à l’exclusion de l’extension .py).

Lorsque nous faisons l’importation d’un module, son code est exécuté. Normalement, cette exécution se restreint à la définition de fonctions et de classes, bien qu’en théorie, elle puisse inclure n’importe quel élément. De plus, le module dispose d’un espace réservé où ces fonctions et classes sont déclarées, ce que l’on nomme son espace de noms.

Les fichiers twofunctions.py et theimporter.py. Ces fichiers semblent définir deux fonctions f(x) et g(x) dans le fichier twofunctions.py et ensuite, dans le fichier theimporter.py, vous importez le module twofunctions et définissez à nouveau une fonction f(x) avec une logique différente.

Voici le contenu des deux fichiers :

twofunctions.py :

# File: twofunctions.py
def f(x):
    return 2 * x + 3

def g(x):
    return x ** 2 - 1

theimporter.py :

# File: theimporter.py
import twofunctions

def f(x):
    return x - 1

print(twofunctions.f(1)) # Cela affichera 5
print(f(1)) # Cela affichera 0
print(twofunctions.g(4)) # Cela affichera 15

Lorsque vous exécutez theimporter.py, il importe le module twofunctions et utilise les fonctions f(x) et g(x) définies dans ce module, ainsi que la fonction f(x) redéfinie localement dans le fichier theimporter.py. Le résultat de l’exécution sera comme indiqué dans les commentaires.

L’importation place le nom du module dans l’espace de noms actuel. Vous pouvez l’utiliser pour identifier les fonctions du module.

Gérer l’importation de modules

L’importation est loin d’être mystérieuse. En réalité, elle revient essentiellement à informer le programme en cours des réalisations d’un autre programme. Étant donné que l’importation entraîne généralement l’exécution du module, il est recommandé d’ajuster le comportement d’un script en fonction de son exécution directe ou de son exécution en tant qu’importation. Cela peut être déterminé en examinant l’attribut de nom du module. Lorsque vous exécutez le module en tant que script, la variable “name” est automatiquement définie sur “main”. En revanche, si le module est en cours d’importation, le nom par défaut est celui du module lui-même.

Vous pouvez touchez tout à travers cet exemple: 

# File: mymodule.py
print("The name of this module is", __name__)
The name of this module is __main__
# File: theimporter.py
import mymodule
print("Notice that it will print something different when imported?")

Voici comment nous utilisons l’attribut name pour vérifier comment le programme est
en cours d’exécution.

def somefunction():
print("Real important stuff here.")
if __name__ == ’__main__’:
somefunction()

Output: Real important stuff here.

Dans l’exemple précédent, le message est affiché uniquement lorsque le module est exécuté en tant que script, et il n’est pas affiché (c’est-à-dire, la fonction “some” n’est pas appelée) lors de l’importation du module. Cette situation est courante en Python.

Importation de modules en Python et gestion des espaces de noms

Il est essentiel de noter que les modules ne s’exécutent qu’à la première importation. Par exemple, si nous importons le même module deux fois, il ne sera exécuté qu’une seule fois. À ce stade, l’espace de noms est déjà établi et accessible pour la deuxième importation. Cela empêche également la création de boucles infinies qui pourraient survenir si deux modules s’importaient mutuellement.

Il existe quelques autres formes courantes de déclarations d’importation standard. Vous avez la possibilité d’importer un nom spécifique ou un groupe de noms depuis un module en utilisant la syntaxe suivante : “from nom_du_module import nom_de_l’élément”. Cette action introduit le nom de l’élément désiré dans l’espace de noms actuel sans nécessiter de préfixe avec le nom du module suivi d’un point.

Vous pouvez importer tous les noms du module dans l’espace de noms actuel : from modulename import *. Si vous faites cela, chaque nom défini dans le module sera accessible dans l’espace de noms actuel.
Il n’est pas nécessaire d’être précédé de modulename et d’un point. Bien que facile à écrire et rapide pour de nombreuses choses, cela est généralement mal vu car vous ne savez souvent pas exactement quels noms vous importez lorsque vous le faites.

Vous pouvez renommer le module après l’avoir importé : importez numpy en tant que np.

Cela vous permet d’utiliser un nom différent pour faire référence aux objets du

module. Dans cet exemple, je peux écrire np.array au lieu de numpy.array.

La raison la plus courante de le faire est d’avoir un nom plus court. Une autre utilisation plus fondamentale est d’éviter les conflits de nommage.

Autres articles

Instructions de base en Python - Exercices...
Python est un langage de programmation populaire et polyvalent, apprécié...
Read more
Héritage en Python : Comprendre les Fondements...
L'héritage est l'un des concepts fondamentaux de la programmation orientée...
Read more
Guide Complet sur les Nombres Premiers en...
Dans cet article, nous explorerons en détail ce...
Read more
AZ

View Comments

Recent Posts

Guide : Exemple de Commentaire Composé Corrigé

Le commentaire composé est un exercice littéraire qui consiste à analyser un texte en respectant…

3 heures ago

Règles générales pour l’accord des adjectifs masculin/féminin

Les adjectifs liés en français sont les adjectifs qui s’accordent en genre (masculin/féminin) et en…

3 heures ago

Masculins Féminins : Liste des mots piégeux et mots composés

Voici une liste étendue de mots piégeux en français, avec leurs genres et des explications…

4 heures ago

Guide : Reconnaître le Féminin ou le Masculin en Français

Apprendre à distinguer le genre des noms en français peut être un véritable défi pour…

4 heures ago

Fiche Auteur : Montesquieu

1. Informations Générales Nom complet : Charles-Louis de Secondat, Baron de La Brède et de…

4 heures ago

Fiche de Lecture et Citations Clés – L’Art de la Guerre de Nicolas Machiavel

Introduction L’Art de la Guerre (Dell’arte della guerra), publié en 1521, est l’un des ouvrages…

4 heures ago

This website uses cookies.