2012-06-02 23 views
20

Tengo varios archivos vacíos __init__.py en mis paquetes. ¿Es correcto si los mantengo vacíos o tengo que colocar un pass dentro de ellos?¿Cómo es correcto un archivo __init__.py vacío?

¿Hay algún PEP u otras pautas sobre el tema?

+2

'pass' solo se necesita cuando se requiere un bloque sangrado (después de' def', 'if',' while' et cetera) y desea dejarlo vacío. –

Respuesta

23

archivos vacíos son perfectly fine:

Se requieren los archivos __init__.py para que Python trate los directorios que contienen como paquetes; esto se hace para evitar que los directorios con un nombre común, como una cadena, oculten involuntariamente los módulos válidos que ocurren más adelante en la ruta de búsqueda del módulo. En el caso más simple, __init__.py puede ser simplemente un archivo vacío, pero también puede ejecutar el código de inicialización para el paquete o establecer la variable __all__, que se describe más adelante.

Dependiendo de lo que va a hacer es un buen lugar para importar material público de los módulos en el paquete así que la gente simplemente puede usar from yourpackage import whatever en lugar de tener que utilizar from yourpackage.somemodule import whatever.

Cuestiones relacionadas