这是我参与8月更文挑战的第15天,活动详情查看: 8月更文挑战
1. 模块和包的进化史
随着时代快速发展,科技也越来越融入到我们生活各个角落。从动动手指就可以购买全球各地的物品,到车辆自动驾驶技术研发,对应实现功能的程序越来越复杂,那我们来看看模块氏怎么演变到吧
-
刚开始,程序只实现一些单线程功能
-
随着语句越来越多诞生函数功能
将实现同一个功能多语句封装到函数中,统一管理和调用
-
随着函数和变量多了诞生类和对象
将同一类型对象的数据和行为,也就是变量和函数,放到一起统一管理和调用
-
随着类多了就诞生模块
将实现类似功能的函数和类统统放到一个模块
-
随着模块多了就诞生包
将实现类似功能的模块放到一起
上述模块和包演化,采用“量变引起质变”、“物以类聚”的思路来一步步演变诞生。
- Python 程序由模块组成,一个模块对应Python的源文件,一般文件后缀以.py
- 模块由语句组成。允许Python程序时,按照模块中语句的顺序依次执行
- 语句由Python程序构造单元,用于创建对象,变量赋值,调用函数、控制语句等
2. 为什么学习模块
模块对应于Python 源代码(.py文件)。模块中可以定义变量、函数、类、普通语句。
模块化编程将一个任务分解成多个模块,每个模块就像一个积木一样,便于后期多反复使用、反复搭建
模块化编程的优点:
- 便于将一个任务分解成多个模块,实现团队协同开发,完成大规模程序
- 实现代码复用。一个模块实现后,可以反复调用
- 可维护性增强
3. 模块划分(standard library)
- 模块分为标准模块和用户自定义模块
- Python 标准库提供了操作系统功能、网络通信、文本处理、文件处理、数据运算等基本功能
- Python 提供了海量的第三方模块,与标准库类似,用于人工智能,大数据、图像识别等
4. 模块化编程流程
- 设计API,进行功能描述,一般在需求分析阶段进行预研
- 编码实现API中描述的功能
- 在模式中编写测试代码,并消除全局代码
- 使用私有函数实现不被外部客户端调用的模块函数
5. 模块的API概述
API(Application Programming Interface 应用程序)是用于描述模块中提供的函数和类的功能描述和使用方式描述。
模块化编程中,首先设计的就是模式的API(即要实现的功能描述),然后开始编码实现API中描述的功能。最后,在其他模块中导入本模块进行调用。
-
API查看方式,目前有四种方式
-
我们可以通过help(模块名)查看模块的API。
(1) 一般使用时先导入模块
(2) 通过help函数进行查看
import time help(time) -
IDE查看导入库后长按Ctrl(mac command)键,快速跳转到库文件(.py)
-
在Python的api文档中查询。
(1) 进入python的安装目录下的docs子目录
(2) 双击chm文档,即可通过索引输入“math”查询到对应的API内容
-
在线文档查看API相关介绍及方法
-
6. 模块创建
我们来使用模块化编程实现自定义模块,并导入自定义模块
import hellojuejin
hellojuejin.say_hey("ANNE")
我们可以调用模块的__doc__属性来查看模块文档介绍
import hellojuejin
print(hellojuejin.__doc__)
总结
本期,我们学习模块化编程思想,对模块创建和导入过程进行实操和掌握
在实际工作中,模块化思想帮助我们在项目中实践更加有效的方法
以上是本期内容,欢迎大佬们点赞评论指正,下次见~ღ( ´・ᴗ・` )比心🌹🌹🌹🌹🌹✈️