__init__ python

El archivo __init__.py indica que los archivos de una carpeta son parte de un paquete de Python. Sin un archivo __init__.py, no puede importar archivos desde otro directorio en un proyecto de Python.

Mientras echa un vistazo a los proyectos de muestra de Python, es posible que haya visto este archivo, __init__ .py. Es posible que se haya preguntado qué era, por qué está allì si está vacìo y còmo funciona. ¬°Esta publicaciòn responderá a todas esas preguntas!

Aquì hay una estructura de archivo de ejemplo que incluye __init__.py :

La carpeta principal es nuestro directorio de Python que quiero tratar como si fuera un paquete de Python. Para ser tratados como tales, tenemos que incluir un archivo __init__.py que transmita esta informaciòn al intérprete de Python.

El resto de los archivos son solo archivos de Python que cada uno tiene informaciòn diferente en él que podrìamos querer usar en otro lugar. Esto podrìa ser una clase, una funciòn, etc.

El main.py es donde vamos a llamar para las funciones que tenemos almacenadas en main_package. Verá còmo funciona esto en un minuto, pero primero echemos un vistazo al archivo __init__.py .

¿Qué es __init__.py?

El archivo __init__.py le permite al intérprete de Python saber que un directorio contiene còdigo para un mòdulo de Python . Un archivo __init__.py puede estar en blanco. Sin uno, no puede importar mòdulos de otra carpeta a su proyecto.

La funciòn del archivo __init__.py es similar a la funciòn __init__ en una clase Python. El archivo es esencialmente el constructor de su paquete o directorio sin que se llame asì. Establece còmo se importarán los paquetes o las funciones a sus otros archivos.

El 81% de los participantes afirmò que se sentìa más seguro acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy mismo.

El graduado promedio de bootcamp pasò menos de seis meses en la transiciòn de carrera, desde comenzar un bootcamp hasta encontrar su primer trabajo.

En su caso más simple, el El archivo __init__.py es un archivo vacìo. Sin embargo, también se utiliza para configurar importaciones, por lo que se puede acceder a ellas desde cualquier otro lugar. Hay tres formas principales de hacerlo:

1. main_package / __ init__.py e importaciones explìcitas :

Usamos importaciones relativas para importar cada uno de los archivos en __init__.py. Dentro de estos archivos hay funciones que son √∫nicas para cada archivo.

En main.py , ahora podemos acceder a estas funciones creando una declaraciòn de importaciòn en la parte superior del archivo usando explìcita declaraciones de importaciòn:

Esto nos dice exactamente qué mòdulos estamos usando fuera del main_package.

2. main_package / __ init__ .py e importaciòn estándar:

La √∫nica diferencia entre este y el anterior es que el primero importa solo lo que necesitamos (archivo_1, archivo_2, archivo_3) . El otro importa el mòdulo & ndash; por lo que usamos la notaciòn de puntos para acceder a los nombres de las funciones.

3. main_package / __ init__.py y la importaciòn de comodines:

En __init__.py, establezca una variable __all__ en una lista de los mòdulos / archivos en el paquete. Esto ayudará al intérprete a determinar qué se debe considerar cuando usamos la declaraciòn de importaciòn de comodines en main.py . Tenga en cuenta que la variable all está rodeada por dos guiones bajos a cada lado.

En main.py usaremos una declaraciòn de importaciòn genérica y usaremos la notaciòn de puntos para acceder a la funciòn:

La variable all sirve para indicarle al comodìn, *, qué mòdulos / archivos se incluirán en esa importaciòn. Cuando leemos desde main_package import * , deberìamos verlo realmente como from main_package import file1, file2, file3 . Luego usamos la notaciòn de puntos para acceder al nombre de la funciòn, como puede ver arriba.

Importaciòn de archivos sin un archivo __init__.py

Si desea importar un archivo desde otro directorio, ese directorio debe contener un archivo __init__.py de Python. Considere esto ejemplo:

Esta declaraciòn importa un mòdulo llamado " crear " de la carpeta " pasteles & rdquo ;. Nuestra carpeta de pasteles necesitarìa tener estos dos archivos para que nuestro còdigo funcione:

El primer archivo es nuestro mòdulo. El segundo archivo le dice a Python que nuestro directorio contiene mòdulos de Python. También podrìamos importar nuestro còdigo asì:

Nosotros no pude use cualquiera de estas declaraciones de importaciòn sin un archivo __init__.py presente.

Para obtener más informaciòn sobre la importaciòn de mòdulos, consulte nuestra guìa de declaraciones de importaciòn de Python .

Conclusiòn

¬°Ese es el archivo __init__.py en Python! La forma en que lo use en su proyecto depende en gran medida de còmo le gustarìa usar las importaciones.

Incluir un archivo __init__.py como parte de su configuraciòn hace que su còdigo sea más Pythonic. Esto se debe a que la estructura de su còdigo es más clara. Escribir más còdigo Pythonic es un gran objetivo entre los desarrolladores de software.

Aquì " sa repl con el còdigo Python de este artìculo. ¬°√öselo para ayudar a visualizar còmo funciona la estructura y experimentar con su propio còdigo!

Para obtener consejos sobre los mejores cursos y recursos en lìnea de Python, consulte nuestro Guìa de còmo aprender Python .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method