Python模块化编程

玩转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__)

复制代码

查看模块文档

总结

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

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

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