Python学习笔记|Python之特殊文件

Python之特殊文件__init__.py

1.为什么__init__.py特殊

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

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

2.如何使用__init__.py

  • __init__.py为空文件

__init__.py控制着包的导入行为。如果__init__.py文件为空的话,仅仅是把这个包导入,不会导入包中的模块

  • __init__.py中写入__all__

__init__.py中的__all__变量,是用来控制from 包名 import *时导入的模块
模块中使用__all__属性,则表示只导入__all__中指定的属性,因此,使用__all__可以隐藏不想被import的默认值

Tips:
__all__变量是一个由string元素组成的list变量。 它定义了当我们使用 from <module> import *导入某个模块的时候能导出的符号(这里代表变量,函数,类等)

  • __init__.py中写入其他内容

可以在__init__.py中编写其他内容,在导入时,这些编写的内容就会被执行
可以在__init__.py中向sys.path添加当前被调用模块路径。

3.__init__.py作用

目录中只有包含了叫做__init__.py的文件,才能被程序认作是包,模块才能被导入成功


版权声明:本文为Hh20161314原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。