参考链接:https://blog.csdn.net/xiaocaibai/article/details/80542920

1、创建方法

a、直接创建一个包,包下的子文件中有一个 __init__.py 文件

 

 

b、先建立一个文件夹,在文件夹下建立一个 __init__.py 文件

注意

包与文件夹( 不带 __init__.py 的文件夹 )的区别:包,表示这个包是可以通过import来进行导包操作的,为文件夹则是不能通过import进行导包操作的

 

2、作用

这个文件定义了包的属性和方法,它可以什么也不定义;可以只是一个空文件,但是必须存在。

如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。

或者可以这样理解。这样,当我们导入这个包的时候,__init__.py文件自动运行。帮我们导入了这么多个模块,我们就不需要将所有的import语句写在一个文件里了,也可以减少代码量。

 

3、 __all__

__init__.py 中还有一个重要的变量,叫做 __all__。我们有时会使出一招“全部导入”,也就是这样:
from PackageName(包名) import  *
这时 import 就会把注册在包 __init__.py 文件中 __all__ 列表中的子模块和子包导入到当前作用域中来

 

 

 

 posted on 2019-12-02 10:18  墨语i  阅读(953)  评论(0)    收藏  举报