Estoy empezando a llegar al punto en mis proyectos de python que necesito para comenzar a utilizar varios paquetes y estoy un poco confundido sobre cómo se supone que todo debe funcionar en conjunto. ¿Qué debería incluir exactamente el __init__.py
del paquete? Algunos proyectos que veo solo tienen inits en blanco y todos sus códigos están en módulos en ese paquete. Otros proyectos implementan lo que parece ser la mayoría de las clases y funciones del paquete dentro del init.diseño de módulo de python
¿Hay algún documento o guía de estilo o algo que describa lo que los autores de python tenían en mente para el uso de paquetes y el archivo __init__
y tal?
Editar:
Sé que el punto de tener el archivo __init__.py
en el sentido más simple que hace una carpeta de un paquete. Pero ¿por qué debería poner una función allí en lugar de un módulo en esa misma carpeta (paquete)?
'__init __ py',' __all__'. Doble subrayado –
@Rafe Kettler: Gracias. Sí, Edite problemas. Mi respuesta es la misma que la tuya y no la vi antes de publicar la mía. – pyfunc
Para 'del artículo de importación del paquete', la variable' __all__' no controla lo que queda expuesto. Si 'item' es un módulo o un subpaquete, y usted está en Windows,' __all__' podría controlar el uso de mayúsculas en 'item', pero no controla a qué puede acceder. –