Python 模块化编程

2,439 阅读4分钟

玩转Python

这是我参与8月更文挑战的第15天,活动详情查看: 8月更文挑战

1. 模块和包的进化史

随着时代快速发展,科技也越来越融入到我们生活各个角落。从动动手指就可以购买全球各地的物品,到车辆自动驾驶技术研发,对应实现功能的程序越来越复杂,那我们来看看模块氏怎么演变到吧

  • 刚开始,程序只实现一些单线程功能

  • 随着语句越来越多诞生函数功能

    将实现同一个功能多语句封装到函数中,统一管理和调用

  • 随着函数和变量多了诞生类和对象

    将同一类型对象的数据和行为,也就是变量和函数,放到一起统一管理和调用

  • 随着类多了就诞生模块

    将实现类似功能的函数和类统统放到一个模块

  • 随着模块多了就诞生

    将实现类似功能的模块放到一起

上述模块和包演化,采用“量变引起质变”、“物以类聚”的思路来一步步演变诞生。

各个部分组成图

  1. Python 程序由模块组成,一个模块对应Python的源文件,一般文件后缀以.py
  2. 模块由语句组成。允许Python程序时,按照模块中语句的顺序依次执行
  3. 语句由Python程序构造单元,用于创建对象,变量赋值,调用函数、控制语句等

2. 为什么学习模块

模块对应于Python 源代码(.py文件)。模块中可以定义变量、函数、类、普通语句。

模块化编程将一个任务分解成多个模块,每个模块就像一个积木一样,便于后期多反复使用、反复搭建

模块化编程的优点:

  1. 便于将一个任务分解成多个模块,实现团队协同开发,完成大规模程序
  2. 实现代码复用。一个模块实现后,可以反复调用
  3. 可维护性增强

模块化编程

3. 模块划分(standard library)

  • 模块分为标准模块和用户自定义模块
  • Python 标准库提供了操作系统功能、网络通信、文本处理、文件处理、数据运算等基本功能
  • Python 提供了海量的第三方模块,与标准库类似,用于人工智能,大数据、图像识别等

4. 模块化编程流程

  • 设计API,进行功能描述,一般在需求分析阶段进行预研
  • 编码实现API中描述的功能
  • 在模式中编写测试代码,并消除全局代码
  • 使用私有函数实现不被外部客户端调用的模块函数

5. 模块的API概述

API(Application Programming Interface 应用程序)是用于描述模块中提供的函数和类的功能描述和使用方式描述。

模块化编程中,首先设计的就是模式的API(即要实现的功能描述),然后开始编码实现API中描述的功能。最后,在其他模块中导入本模块进行调用。

  • API查看方式,目前有四种方式

    1. 我们可以通过help(模块名)查看模块的API。

      (1) 一般使用时先导入模块

      (2) 通过help函数进行查看

      import time
      
      help(time)
      
    2. IDE查看导入库后长按Ctrl(mac command)键,快速跳转到库文件(.py)

    time模块代码

    1. 在Python的api文档中查询。

      (1) 进入python的安装目录下的docs子目录

      (2) 双击chm文档,即可通过索引输入“math”查询到对应的API内容

    chm文档

    1. 在线文档查看API相关介绍及方法

模块化文档介绍

6. 模块创建

我们来使用模块化编程实现自定义模块,并导入自定义模块

import hellojuejin

hellojuejin.say_hey("ANNE")

自定义模块允许结果

我们可以调用模块的__doc__属性来查看模块文档介绍

import hellojuejin

print(hellojuejin.__doc__)

查看模块文档

总结

本期,我们学习模块化编程思想,对模块创建和导入过程进行实操和掌握

在实际工作中,模块化思想帮助我们在项目中实践更加有效的方法

以上是本期内容,欢迎大佬们点赞评论指正,下次见~ღ( ´・ᴗ・` )比心🌹🌹🌹🌹🌹✈️