__init__ Python

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.

Importation de fichiers sans fichier __init__.py

Si vous souhaitez importer un fichier depuis un autre répertoire, ce répertoire doit contenir un fichier Python __init__.py. Considérez ceci exemple :

Cette instruction importe un module appelé "create" à partir du dossier "cakes". Notre dossier cakes aurait besoin de ces deux fichiers pour que notre code fonctionne :

Le premier fichier est notre module. Le deuxième fichier indique à Python que notre répertoire contient des modules Python. Nous pourrions également importez notre code comme ceci :

Nous ne pouvait pas utilisez l’une ou l’autre de ces instructions d’importation sans fichier __init__.py.

Pour en savoir plus sur l’importation de modules, consultez notre guide des instructions d’importation Python.

Conclusion

C’est le fichier __init__.py en Python ! La façon dont vous l’utilisez dans votre projet dépend beaucoup de la façon dont vous souhaitez utiliser les importations.

L’inclusion d’un fichier __init__.py dans le cadre de votre configuration rend votre code plus Pythonic. C’est parce que la structure de votre code est plus claire. √âcrire plus de code Python est un objectif important parmi les développeurs de logiciels.

Ici‚Äôsa repl avec le code Python de cet article. Utilisez-le pour visualiser le fonctionnement de la structure et expérimenter avec votre propre code !

Pour obtenir des conseils sur les meilleurs cours Python et les ressources en ligne, consultez notre