模块
python程序构成
模块定义
- 模块英文为Modules
- 函数与模块的关系:一个模块中可以包含N多个函数
- 在python中一个扩展名为
.py
的文件就是一个模块
模块的优点:
- 方便其他程序和脚本的导入并使用
- 避免函数名和变量名冲突
- 提高代码的可维护性
- 代码的复用性
自定义模块
创建模块
右键–>新建;新建一个.py
文件,名称尽量不要与python自带的标准模块名称相同。
导入模块
import 模块名称 [as 别名]
from 模块名称 import 函数/变量/类
import math #关于数学的运算 print(id(math)) #1721854229216 print(type(math)) #<class 'module'> print(math) #<module 'math' (built-in)> print(math.pi) #3.141592653589793 print(dir(math)) print(math.pow(2,3),type(math.pow(2,3))) #8.0 <class 'float'> print(math.ceil(9.001)) #10 print(math.floor(9.99)) #9
from math import pi from math import pow print(pi) #3.141592653589793 print(pow(2,3)) #8.0
导入自定义模块方式:
文件夹右键–>Mark Dierectory as -->Sources Root–>引用自定义模块即可
以主程序形式进行
在每个模块的定义中都包括一个记录模块名称的变量_name_,程序 可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的_name_变量的值为_main_
if __name__ == '__main__': pass
模块1:定义一个模块名为bsm def add(a,b): return a+b if __name__ == '__main__': print(add(10,20))
模块2: import bsm print(bsm.add(20,30))
python中的包
定义
包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
作用
- 代码规范
- 避免模块名称冲突
包与目录的区别
- 包含__init__.py文件的模块称为包
- 目录里通常不包含__init__.py文件
包的导入
import 包名.模块名
from 报名 import 模块名
python 中常用的内容模块
模块名 | 描述 |
sys | 与python解释器及其环境操作相关的标准库 |
time | 提供与时间相关的各种函数的标准库 |
os | 提供了访问操作系统服务功能的标准库 |
calendar | 提供与日期相关的各种函数的标准库 |
urllib | 用于读取来自网上(服务器)的数据标准库 |
json | 用于使用JSON序列化和反序列化对象 |
re | 用于在字符串中执行正则表达式匹配和替换 |
math | 提供标准算数运算函数的标准库 |
decimal | 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 |
logging | 提供了灵活的记录时间、错误、讲稿和调试信息等日志信息的功能 |
第三方模块的安装及使用
第三方模块的安装
pip install 模块名
- win+R,打开cmd,输入
pip install 要安装的模块名
- 输入python
- 输入
import 安装的模块名
,不报错即为安装成功
第三方模块的使用import 模块名