Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。

那么,模块到底指的是什么呢?模块,英文为 Modules,至于模块到底是什么,可以用一句话总结:模块就是 Python程序。换句话说,任何 Python 程序都可以作为模块,包括在前面章节中写的所有 Python 程序,都可以作为模块。

模块可以比作一盒积木,通过它可以拼出多种主题的玩具,这与前面介绍的函数不同,一个函数仅相当于一块积木,而一个模块(.py 文件)中可以包含多个函数,也就是很多积木。模块和函数的关系如图 1 所示。

图 1 模块和函数的关系

经过前面的学习,读者已经能够将 Python 代码写到一个文件中,但随着程序功能的复杂,程序体积会不断变大,为了便于维护,通常会将其分为多个文件(模块),这样不仅可以提高代码的可维护性,还可以提高代码的可重用性。

代码的可重用性体现在,当编写好一个模块后,只要编程过程中需要用到该模块中的某个功能(由变量、函数、类实现),无需做重复性的编写工作,直接在程序中导入该模块即可使用该功能。

前面讲了封装,并且还介绍了很多具有封装特性的结构,比如说:

诸多容器,例如列表、元组、字符串、字典等,它们都是对数据的封装;

函数是对 Python 代码的封装;

类是对方法和属性的封装,也可以说是对函数和数据的封装。

本节所介绍的模块,可以理解为是对代码更高级的封装,即把能够实现某一特定功能的代码编写在同一个 .py 文件中,并将其作为一个独立的模块,这样既可以方便其它程序或脚本导入并使用,同时还能有效避免函数名和变量名发生冲突。

举个简单的例子,在某一目录下(桌面也可以)创建一个名为 hello.py 文件,其包含的代码如下:

def say ():

print("Hello,World!")

在同一目录下,再创建一个 say.py 文件,其包含的代码如下:

#通过 import 关键字,将 hello.py 模块引入此文件

import hello

hello.say()

运行 say.py 文件,其输出结果为:

Hello,World!

读者可能注意到,say.py 文件中使用了原本在 hello.py 文件中才有的 say() 函数,相对于 day.py 来说,hello.py 就是一个自定义的模块(有关自定义模块,后续章节会做详细讲解),我们只需要将 hellp.py 模块导入到 say.py 文件中,就可以直接在 say.py 文件中使用模块中的资源。

与此同时,当调用模块中的 say() 函数时,使用的语法格式为“模块名.函数”,这是因为,相对于 say.py 文件,hello.py 文件中的代码自成一个命名空间,因此在调用其他模块中的函数时,需要明确指明函数的出处,否则 Python 解释器将会报错。

python模块化编程_什么是模块,Python模块化编程(入门必读)相关推荐

  1. 查看Python的版本_查看当前安装Python的版本

    一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...

  2. python小海龟画房子编程_教孩子学Python编程之海龟画图(一)

    大家好,我是践行计算机教育刘老师,很高兴跟大家分享Python编程,建议5年级以上的学生学习.父母也可以陪着孩子一起学习Python编程,对于孩子学编程起到监督和辅助学习.下载我们Python编程工具 ...

  3. python 仪表驱动_技术文章 | 锐视模块化仪器python驱动使用说明

    原标题:技术文章 | 锐视模块化仪器python驱动使用说明 简仪的硬件驱动都是使用C#用统一接口包装的,所有的MACOs都是开放型的,有明确的方法(Methods)和属性(Properties)定义 ...

  4. python api讲解_集合api讲解_Python C编程视频课程_Python视频-51CTO学院

    我们为什么要学习Python C编程? 第一个原因,用Python进行项目开发时,很多时候都需要用Python C来扩展Python模块,优化Python脚本的执行效率. 第二个原因,很多项目用C/C ...

  5. 趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章

    第1章 Python不是大蟒蛇 1.1 关于计算机语言 计算机程序是一组让计算机执行某种动作的指令.软件就是计算机程序的集合. 一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能 ...

  6. 编程猫python笔试题_假如高考考python编程,这些题目你会几个呢?

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  7. 学python还是不会编程_你真的不学Python吗?学习Python的四大理由!

    在众多人的脑海中,Python无非就是一门编程语言而已,并没有什么特色,但是提及学习编程大部分人都会推荐Python,为什么?今天就给你说说学习Python的四大理由吧. 首先先来了解一下什么是Pyt ...

  8. arcgis工具python源码_面向Arcgis的python脚本编程_数据

    [实例简介] <面向ArcGIS的Python脚本编程>是一本指导ArcGIS for Desktop专业用户进行Python开发的指南.该书将教会您如何通过编写Python代码处理空间数 ...

  9. python儿童命令_《与孩子一起学编程》第一章出发吧之指令学习、与Python交互|中国少儿编程网...

    1.3来点指令吧 下面就来向Python下达我们的第一条指令. 在>>>提示符末尾的光标后面键入:print "hello world!" 然后按下Enter(回 ...

最新文章

  1. canvas绘制弯月
  2. php连接mysql数据并查询
  3. 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。
  4. Pixysoft.Framework.MemoryCache 开发实录
  5. math.fabs_带有Python示例的math.fabs()方法
  6. 在安卓模拟器中,adb安装apk常见错误
  7. 9个元素换6次达到排序序列_排序总结:二大种,六小种排序方式
  8. asterisk概述和代码分析
  9. jconsole 里的线程编号一直在增加_第三章_运行时数据区概述及线程
  10. javascript 原生事件综合查询
  11. 高薪Java开发工程师需要掌握哪些技能?
  12. Oracle_PL/SQL(3) 游标
  13. IDEA maven库里 添加自定义jar包
  14. ansys18安装教程_ANSYS|ansys18.0完整安装过程及常见问题解决方案「图文」
  15. java excel转pdf有乱码_word,ppt,txt,excel转换pdf 解决中文乱码
  16. [科研自学神器]中国大学MOOC下载器
  17. 【项目管理】项目启动阶段 -- 制定项目章程
  18. 8个接私活的网站,只要你有码,那就有钱!
  19. vue之ele中的table组件(复选框的回显和重置)
  20. STM32--DSP库使用(1)

热门文章

  1. Java语言基础1-关键字、标识符、常量和变量
  2. Android native进程间通信实例-binder篇之——解决实际问题inputreader内建类清楚缓存...
  3. Python学习笔记14(socket编程)
  4. Android应用程序文件缓存getCacheDir()和getExternalCacheDir()
  5. 创建线程的两种方式:继承Thread类和实现Runnable接口
  6. 设计模式-缺省适配类.
  7. Eclipse 安装插件
  8. 【Vegas原创】imp/exp导入导出数据
  9. Vue生命周期通俗理解
  10. 电脑备忘录软件测试自学,软件测试经验和教训分享.pdf