Python模块及引用【__init__.py作用】

环境

本篇讲解Python模块基础,应该适合于所有版本。实验中用win10,Python36。

python是一门适合初学者的编程语言,而且使用时很方便,很多时候会使我们不注重一些小细节。

使用IDE PyCharm使得编写Python程序更加便捷。IDE会有代码提示和代码高亮,且会有拼写错误或不规范提示。

即使代码可以运行,但是看到提示就觉得不爽,把变量名添加到库中就会没有提示,如图1。

图1

代码末尾添加一行空行,如图2

图2

在所有代码都正确时, PyCharm右上角会出现一个蓝色打钩,如图3。

Python模块及引用【__init__.py作用】_第1张图片

图3

__init__.py:模块管理

在Python中,可以通过文件__init__.py来管理模块,包。如图4所示是一个项目的代码文件结构,项目以main.py为程序入口,项目下有两个模块,module1和module2,module1中还有个子模块submodule。各模块都有一个__init__.py文件,这个文件类似于配置文件,方便程序索引调用。

Python模块及引用【__init__.py作用】_第2张图片

图4

下面为x.py代码,类似定义y.py,a1.py,a2.py,p1.py,p2.py

def x():
    print('x function.')

module1下__init__.py

__all__ = ['a1', 'a2', 'submodule']
info = 'module1.submodule '

submodule下__init__.py

__all__ = ['x', 'y']

module2下__init__.py

__all__ = ['p1', 'p2']
info = 'module2'

__init__.py文件是为了配置模块,方便索引,这样写之后,在IDE中会提示出模块中的某个文件,以及文件中的函数和类等信息,如图5。当然有时也在__init__.py中编写其他类和函数代码,但一般情况下保持__init__.py中内容简单。

Python模块及引用【__init__.py作用】_第3张图片

图5

main.py

import module1.submodule.x as xf
import module1.a1 as a1f
import module2.p1 as p1f
import module1.submodule.y as yf

xf.x()
a1f.a1()
p1f.p1()
yf.y()

ps:在类定义中有个__init__()函数,这是Python中面向对象编程的构造函数,与__init__.py没什么关系!

你可能感兴趣的:(python编程细节)