python __init__.py 和 __all__作用

一、__init__.py

1、导入文件夹包的时候,会运行写在该文件夹包下的__init__.py文件

如 import package

import package.xxx

from package import xxx 等

这样会自动运行package文件夹下的__init__.py文件

2、__init__.py文件中可以定义该文件夹包的名字空间,定义的方法就是在__init__.py文件里导入这些名字

如在package文件夹下的__init__.py文件里,可以导入该文件夹下的所有py文件(模块),这样就将所有模块名导入了package的名字空间:

如package文件夹下有file1.py和file2.py两个模块

在package的__init__.py里from . import *就将file1和file2导入了package的名字空间

这样在别处import package导入package包,就可以正常写调用语句如package.file1.func(), package.file2.func()

二、__all__属性

文件夹包下的__ini__.py文件里可以定义__all__属性,作用是在别处模糊导入该包中的所有名字时(from package import *),可以隐藏包中名字空间中的一些名字

你可能感兴趣的:(python,开发语言)