本篇讲解Python模块基础,应该适合于所有版本。实验中用win10,Python36。
python是一门适合初学者的编程语言,而且使用时很方便,很多时候会使我们不注重一些小细节。
使用IDE PyCharm使得编写Python程序更加便捷。IDE会有代码提示和代码高亮,且会有拼写错误或不规范提示。
即使代码可以运行,但是看到提示就觉得不爽,把变量名添加到库中就会没有提示,如图1。
图1
代码末尾添加一行空行,如图2
图2
在所有代码都正确时, PyCharm右上角会出现一个蓝色打钩,如图3。
图3
在Python中,可以通过文件__init__.py来管理模块,包。如图4所示是一个项目的代码文件结构,项目以main.py为程序入口,项目下有两个模块,module1和module2,module1中还有个子模块submodule。各模块都有一个__init__.py文件,这个文件类似于配置文件,方便程序索引调用。
图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中内容简单。
图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没什么关系!