模块化编程ModularProgramming-GitHub

第4章模块化编程

Modular Programming

申丽萍

lpshen@

第4章模块化编程

 模块化程序设计

 函数

 自顶向下设计

 Python模块

模块化设计和建造

 在对产品进行功能分析的基础上,将产品分解成若

干个功能模块,预制好的模块再进行组装,形成最终

产品.

 模块:提供特定功能的相对独立的单元.

 标准化:标准尺寸和标准接口

 可组装:多个模块可以方便灵活地组合

 可替换:改变系统的局部功能

 可维护:对模块进行局部修改或设置

模块化编程

 将程序分解为独立的、可替换的、具有预定功能的

模块,每个模块实现一个功能.各模块组合在一起形成

最终程序.

 好处:

 易设计:复杂问题化成简单问题

 易实现:可以团队开发

 易测试:可各自测试

 易维护:修改或增加模块

 可重用:一个模块可参与组合不同程序

分离关注点原则

 关注点:是指设计者关心的某个系统特性或行为

 分离关注点(SoC):将系统分解为互不重叠的若干部分

,每个部分对应于一个关注点.

 模块化编程是SoC的具体体现,以程序的各个功能作

为关注点,模块划分就是分离关注点的结果.

编程语言中的模块化构造

 汇编语言:子例程,宏

 高级语言:函数,过程

 有的语言不加区分,统称为函数.

 包,模块,函数库,类库

 如数学库math和字符串库string

第4章模块化编程

 模块化程序设计

 函数

 函数定义

 参数传递

 变量作用域

 返回值

 自顶向下设计

 Python模块

什么是函数?

 函数是一种程序构件,是构成大程序的小功能部件(子程序)

 function一词本身就有"功能"的含义

 我们已经熟悉的函数:

 自己编的函数,如常用的main()

 Python内建函数,如abs (),type(),int (),eval (),sorted()

 Python库函数,如math.sqrt (),string.count()

 对象的方法,如win.close ()和p.draw ()

 与数学函数的异同

 同:函数名,参变量,函数值,定义与使用

 异:算法过程定义;参量传递;副作用

为什么需要函数?

 编程更容易把握

 大程序分解成小功能部件

 代码重用,避免重复相同/相似代码

 提高开发效率

 更易维护

 程序更可读,更易理解

 代码简洁美观

函数用途:减少重复代码

 编程实例:画一棵树

print " *" def treetop():

print " ***" print " *"

print " ***"

print " *****"

print " *****"

print "*******" print "*******"

print " *"

print " ***" def tree():

print " *****" treetop()

print "*******"

python模块化编程 pdf_模块化编程ModularProgramming-GitHub.PDF相关推荐

  1. python批量打印pdf_通过Dynamo批量打印PDF图纸

    最近有小伙伴留言,希望写一篇关于批量打印PDF图纸的教程,于是呢,这次就简单介绍一下批量打印pdf. 首先我在我的Dynamo节点库里简单搜了一下,发现打印pdf的节点挺多的,方式大同小异,我继续选O ...

  2. Python函数详解:函数定义、调用,lambda函数,高阶函数map,filter,reduce,函数式编程,模块化设计、代码复用、函数递归、enumerate()

    一.函数 函数是一段具有特定功能的.可重用的语句组,通过函数名来表示和调用. 函数是一段代码的抽象和封装 函数是一段具有特定功能的.可重用的语句组 函数是一种功能的抽象,表达特定功能 两个作用:降低编 ...

  3. python基于c语言开发_C高级编程:基于模块化设计思想的C语言开发 PDF 超清版

    给大家带来的一篇关于C语言相关的电子书资源,介绍了关于C高级编程.模块化.设计思想.C语言开发方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小80 MB,吉星编写,目前豆瓣.亚马逊.当当 ...

  4. 【2017下集美大学软工1412班_助教博客】结对编程1——模块化

    作业要求 结对编程1-模块化 总成绩 计算方法: 百分数=总分/40*100 其中总分=个人作业+结对编程作业分数 个人项目成绩 (占原始总分的 20%) = ​ 每次作业成绩的累加,再把全班同学的最 ...

  5. 图形化编程实现模块化和面向对象编程

    图形化编程支持更多功能 新增功能 支持模块化编程 支持面向对象编程 支持多线程编程 代码实现原理 其他特色实现 总结 新增功能 最近折腾了一个月,给图形化编程增加了很多功能,让图形化编程可以使用更多的 ...

  6. opencv3计算机视觉python语言实现pdf_对比《OpenCV计算机视觉编程攻略第3版》《OpenCV 3计算机视觉Python语言实现第2版》PDF代码......

    OpenCV 3是一种先进的计算机视觉库,可以用于各种图像和视频处理操作,通过OpenCV 3 能很容易地实现一些有前景且功能先进的应用(比如:人脸识别或目标跟踪等).从图像处理的基本操作出发,计算机 ...

  7. 单片机零基础入门(9-1)实战:模块化编程(模块化两个案例含源码--以及无法显示头文件(.h)的解决方案)

    单片机零基础入门(9-1)实战:模块化编程-(以及无法显示头文件(.h)的解决方案) 本文作为单片机零基础入门(8-5)模块化编程的拓展和补充,比前面的单片机零基础入门(8-5)模块化编程更为详细. ...

  8. 编程思想-模块化-模块化程序设计:模块化程序设计

    ylbtech-编程思想-模块化-模块化程序设计:模块化程序设计 模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要 ...

  9. 编程思想-模块化-产品模块化设计:产品模块化设计

    ylbtech-编程思想-模块化-产品模块化设计:产品模块化设计 产品模块化设计就是将产品分成几个部分,也就是几个模块,每一部分都是具有独立功能,具有一致的几何连接接口和一致的输入.输出接口的单元,相 ...

最新文章

  1. Hadoop学习笔记(1) ——菜鸟入门
  2. 计算机视觉开源库OpenCV之照明和色彩空间
  3. 超图单值专题图 - 行政区划类型学习
  4. LabelImg 批量生成标注图片文件夹序号(起始值+终值)
  5. 机器人编程语言学习哪门最好?5大热门编程语言推荐
  6. ubuntu安装远程桌面连接工具
  7. .net core mvc初级教程(六)
  8. js向页面中动态添加脚本
  9. 一个简单的Web服务器
  10. BXP无盘中启用bootp服务的设置详解(转)
  11. 网络协议、socket、webSocket
  12. word小技巧之表格插入行
  13. 简化版的宿舍管理系统(有细微的逻辑问题,没优化)
  14. ADNI数据集-数据分析11.17
  15. java 推流_使用java执行ffmpeg命令进行推流操作
  16. 毕业设计-基于大数据招聘岗位可视化系统-python
  17. 无线网络 笔记本连接正常上网,手机之类的就不能上网
  18. jacob离线语音合成和百度AI在线语音合成
  19. 2021-10-27 孤尽训练营D2
  20. 1.线性回归(Tensorflow)

热门文章

  1. PCB板缺陷检测机器视觉识别算法 yolo
  2. 毕业论文里如何插入图录和表录
  3. Matlab读写hdf5数据
  4. 前端研习录(20)——JavaScript三元运算符
  5. UE4中蓝图实现小地图——雷达图篇
  6. 《中国人史纲》读书笔记:第一章 历史舞台
  7. 22考研政治全程班:史纲选择题技巧(1)
  8. KMP常见问题及解决方法【Z】
  9. 尼彩A700 root教程_方法
  10. 完美者u盘linux,完美者u盘维护系统v10.2 完整终结版_完美者u盘维护系统2017官方下载|好特下载...