Python学习系列之模块化编程(二十九)
模块化编程
一、模块
1. 什么叫模块?
- 模块英文为Modules
2. 函数与模块的关系
- 一个模块中可以包含N多个函数
- 在Python中一个扩展名未.py的文件就是一个模块
3. 使用模块的好处
- 方便其它程序和脚本的导入并使用
- 避免函数名和变量名冲突
- 提高代码的可维护性
- 提高代码的可重用性
二、 自定义模块
1. 创建模块
新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
2. 导入模块
格式1:import 模块名称 [as 别名]
'''模块的导入''' import math #导入math模块 print(math) print(math.pi) print(dir(math)) print(math.pow(2,3),type(math.pow(2,3))) #计算2的3次方,值为8.0,float类型 print(math.ceil(9.001)) #9.001的天花板,即向上取整,值为10 print(math.floor(9.99)) ##9.99的地板,即向下取整,值为9
执行结果:
格式2:from 模块名称 import 函数/变量/类
from math import pi #从math模块导入pi方法 print(pi) print(pow(2,3)) print(math.pow(2,3)) #会报错,因为pow方法没有被导入,使用的是python自带的pow方法
上面代码最后一句会报错,如下图:
因为只从math模块中导入了pi方法,并没有导入pow方法,所以会报错,需要在导入处加入import math才不会报错,即导入math整个模块(包括paw方法) ,正确代码如下:
from math import pi #从math模块导入pi方法 import math print(pi) print(pow(2,3)) print(math.pow(2,3))
自定义模块calc,里面定义一个加法和一个除法,代码如下:
def add(a,b): return a+b def div(a,b): return a/b
新建另外一个模块,然后导入自定义模块,如果直接import自定义的类模块calc,则会报错,如下图,因为这里导入的是Python自带的模块,非用户自定义模块
如果要导入自定义模块,则需要右键当前目录文件夹,选择Mark Directory as -> Source Root,然后就可以调用自定义的类calcdemo里的方法了
执行结果如下:
如果只想导入calcdemo的add方法,代码如下:
'''如果只想导入calcdemo的add方法''' from calcdemo import add print(calcdemo.add(10,30))
执行结果: