一、模块
(1)模块的定义
模块——Modules,通常一个py文件就是一个模块,我们在一个py文件里面会定义多个函数,也就是说一个模块中可以包含N多个函数。
(2)模块化编程的好处
①方便其他程序和脚本的导入并使用
②避免函数名和变量名冲突
③有利于代码的复用和维护
(3)自定义模块
就是新建一个py文件,文件的命名规则就是不要与Python自带的标准模块名称相同。
(4)模块的导入
方式一
import 模块名称 [as 别名]
这里采用math模块进行演示,math模块就是数学运算的模块。
例如,这里应用math模块输出pi的值和计算2的3次方。
import math
print(id(math))
print(type(math))
print(math)
print(math.pi)
print(dir(math))
print(math.pow(2,3),type(math.pow(2,3)))
运行结果
方式二
from 模块名称 import 函数/变量/类
例如
from math import pow
print(pow(2,3))
运行结果
输出浮点型的数据
二、以主程序的方式运行程序
在每个模块的定义中都包括一个记录模块名称的变量name,程序可以检查这个变量,从而确定在哪个模块里面进行执行。如果一个模块没有被导入到其他程序中,那么它就被当作主程序去运行,如果被导入到其他模块中就不一定会被当作主程序去运行。
这里我们需要建立两个文件进行演示。
首先,新建一个具有加法功能的模块
先不加以下语句
if __name__=='__main__':
具有加法功能模块的完整程序
def add(a,b):
return a+b
# if __name__=='__main__':
print(add(1,2))
将该模块导入到其他模块中
import addition
print(addition.add(10,20))
运行结果
由运行结果可以发现,它把导入的模块的函数也当作主程序运行,并输出了结果
现在在被导入的模块里加上
if __name__=='__main__':
即完整程序
def add(a,b):
return a+b
if __name__=='__main__':
print(add(1,2))
运行导入了加法模块的程序,运行结果为
三、Python中的包
(1)包的定义及作用
包是一个分层次的目录结构,它的作用是将一组功能相近的模块组织在一个目录,包的作用是使得代码更加规范,同时也避免了模块名称的冲突。
(2)包与目录的区别
包与目录的区别在于包里面包含了init.py文件,目录里面不包含这个文件。
(3)包的导入方式
首先建立package,然后在里面建立两个模块。
然后建立一个模块,也就是一个py文件
#导入包
#导入的时候如果名字过长可以使用别名
import package1.ma as ma
print(ma.a)
运行结果
(4)导入的注意事项
①使用import后面只能跟包或者是模块;
②使用from import 进行导入既可以是模块也可以是变量,还可以是包。
四、Python中常用的内置模块
五、第三方模块的安装与使用
(1)模块安装
①终端 pip install
②
(2)模块使用
import 模块名
六、总结