La esencia del archivo __init__.py en el paquete del módulo de Python

 Original: http://www.douban.com/group/topic/24075924/                   Lo he eliminado 

Referencia   http: //www.cnblogs.c om / tqsummer / archive / 2011/01/24 / 1943273.h tml


Paquetes de Python __init__.py


La esencia del paquete está en el archivo __init__.py El 

archivo

__init__.py __init__.py controla el comportamiento de importación del paquete. Si __init__.py está vacío, no se puede hacer nada con solo importar el paquete. 

>>> import Package1 

>>> Package1.Module1 

Traceback (última llamada más reciente): 
Archivo "<pyshell # 1>", línea 1, en? 
Package1.Module1 

AttributeError: 'módulo' objeto no tiene atributo 'Módulo1' 

que necesitamos Pre-import Module1 en __init__.py:  #File

__init__.py 

import Module1 

test: 

>>> import Package1 

>>>  Package1.Module1


module'Package1.Module1 'from'Module.pyc'> 

__init__.py Hay otro importante variable llamada __todos__. A veces hacemos un truco para "importar todo", que es así: 

from PackageName import * 

En este momento, la importación importará los submódulos y subpaquetes registrados en la lista __todos__ en el archivo del paquete __init__.py al alcance actual. Por ejemplo: 

# File __init__.py 

__all__ is = ['Module1', 'Module2', 'Package2'] 

Test: 

>>> from the Package1 Import * 

>>> Module2 

<Module1 'Package1.Module2' from 'Module.pyc '> 

El archivo __init__.py se ejecutará durante la importación. 


Otras referencias: 

http: //www.cnblogs.c om / tqsummer / archive / 2011/01/24 / 1943273.h tml

   

Supongo que te gusta

Origin blog.csdn.net/huochuangchuang/article/details/49366555
Recomendado
Clasificación