Python模块化编程

模块

模块是一个包含所有你定义的函数和变量的文件,其后缀为.py(就如我们编写的程序就是一个模块),可被其他程序引入。以使用该模块的函数等功能

模块分为三种:

1.内置模块:sys,os,subprocess,time等

2.自定义模块:人为自己编写的模块,莫与自带模块一个名

3.开源模块:可安装下载各种牛逼的模块

函数

Python模块化测试实现 python模块化编程_第三方库

1.函数的定义

格式:

def函数名(形参表):

函数体语句序列

[]#可选项,即可以没有返回值

函数调用:

函数名(实参表)

说明 :

函数必须先定义再使用

函数名与变量名的命名规则相同,只能包含字母,数字,下划线,且不能以数字打头

例:

defstart():print("Hello World!")if __name__ == ‘__main__‘:try:
start()exceptKeyboardInterrupt:print(‘被终止‘)

2. 局部变量和全局变量

局部变量:

只作用于函数或代码块内。作用范围有限。

全局变量:

可被不同的函数/类/文件共享。可被文件内部任何函数和外部文件访问。全局变量通常在文件的开始处定义。

Python模块化测试实现 python模块化编程_sed_02

3. 模块安装及使用

现在已经安装的模块,查询:

>>>help(‘modules‘)查看现在已安装的所有模块

3.1 模块的安装及镜像的替换

在internal终端,输入 pip install xx即可安装模块。可直接输入命令pip install -i 镜像源 包

或者直接更换为国内镜像源,以后不用再搜索。可以加快下载速度。

Python模块化测试实现 python模块化编程_Python模块化测试实现_03

提供几个常见的国内镜像源网站:

3.2 pip命令

pip install <第三方库> #安装库
?
pip insatall-U<第三方库> #更新已安装的库
?
pip show<第三方库> #列出库的详细信息
pip uninstall<第三方库> #卸载
pip list #列出已经安装的第三方库

3.3 模块导入方式

1.import 模块 as 别名
import 直接导入模块
import math
a=math.exp(2)

2.from ... import ...

用于只导入指定模块的部分属性

from math import exp

a = exp(2)

4. 自定义包和模块

4.1 理解name属性

每个py脚本运行时都有一个name属性:

若py文件独立运行则,__name__== __main__

若py文件作为模块导入,则其name属性__name__== __xx__

例:

《Used_by.py》

if __name__ == ‘__main__‘:print(‘我是直接运行的‘)elif __name__ == ‘Used_by‘:print(‘Used_by模块被调用了‘)

《理解包和模块》

importUsed_byif __name__ == ‘__main__‘:
?print(‘------我是另一个模块,特意来调用别的模块-------‘)

运行结果:

(venv) λ python Used_by.py

我是直接运行的

?

?

(venv) λ python 理解包和模块.py

Used_by模块被调用了------我是另一个模块,特意来调用别的模块-------

4.2 如何使用包或者定义包和模块

包可以用来管理多个模块,可看作包含大量py模块的文件夹。在每个包的目录中都有一个__init__.py的文件,其可以是一个空文件,只为标识档期那文件夹是一个包。

__init__.py文件:

主要作用设置 __all__变量及初始化包所需要的代码