Le fichier __init__.py indique que les fichiers d’un dossier font partie d’un package Python. Sans fichier __init__.py, vous ne pouvez pas importer de fichiers depuis un autre répertoire dans un projet Python.
En examinant des exemples de projets Python, vous avez peut-être vu ce fichier, __init__ .py. Vous vous êtes peut-être demandé ce que c’était, pourquoi il est là s’il est vide et comment cela fonctionne. Cet article répondra à toutes ces questions !
Voici un exemple de structure de fichier qui inclut __init__.py :
Le dossier principal est notre répertoire Python que nous voulez traiter comme s’il s’agissait d’un package Python. Pour être traité comme tel, nous devons inclure un fichier __init__.py qui relaie cette information à l’interpréteur Python.
Le reste des fichiers ne sont que des fichiers Python que chacun possède différentes informations que nous pourrions vouloir utiliser ailleurs. Cela peut être une classe, une fonction, etc.
Le main.py est l’endroit o√π nous allons appeler les fonctions que nous avons stockées dans main_package. Vous verrez comment cela fonctionne dans une minute, mais jetons d’abord un coup d’≈ìil au fichier __init__.py.
Qu’est-ce que __init__.py ?
Le fichier __init__.py permet à l’interpréteur Python de savoir qu’un répertoire contient du code pour un module Python. Un fichier __init__.py peut être vide. Sans un, vous ne pouvez pas importer des modules d’un autre dossier dans votre projet.
Le rôle du fichier __init__.py est similaire à la fonction __init__ dans une classe Python. Le fichier est essentiellement le constructeur de votre package ou répertoire sans qu’il soit appelé ainsi. Il définit la manière dont les packages ou les fonctions seront importés dans vos autres fichiers.
81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans le domaine technique après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.
Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.
Dans son cas le plus simple, le Le fichier __init__.py est un fichier vide. Cependant, il est également utilisé pour configurer les importations, afin qu’ils soient accessibles ailleurs. Il existe trois manières principales de le faire :
1. main_package/__init__.py et importations explicites
:
Nous utilisons des imports relatifs pour importer chacun des fichiers dans __init__.py. √Ä l’intérieur de ces fichiers se trouvent des fonctions uniques à chaque fichier.
Dans main.py, nous pouvons désormais accéder à ces fonctions en créant une instruction import en haut du fichier en utilisant explicite instructions d’importation :
Cela nous indique exactement quels modules nous utilisons à partir de main_package.
2.main_package/__init__ .py et import standard :
La seule différence entre celui-ci et le précédent est que le premier n’importe que ce dont nous avons besoin (file_1, file_2, file_3) . L’autre importe le module ‚Äì nous utilisons donc la notation par points pour accéder aux noms des fonctions.
3. main_package/__init__.py et importation de caractères génériques :
Dans __init__.py, définissez une variable __all__ sur une liste de modules/fichiers dans le emballer. Cela aidera l’interprète à déterminer ce qui doit être pris en compte lorsque nous utilisons la déclaration d’importation de caractères génériques dans le fichier main.py. Notez que la variable all est entourée de deux traits de soulignement de chaque côté.
Dans main.py, nous allons utiliser une instruction d’importation générique et utiliser la notation par points pour accéder à la fonction :
La variable all sert à indiquer au joker, *, quels modules/fichiers doivent être inclus dans cette importation. Lorsque nous lisons depuis main_package import *, nous devrions en fait le voir comme from main_package import file1, file2, file3. Ensuite, nous utilisons la notation par points pour accéder au nom de la fonction, comme vous pouvez le voir ci-dessus.