失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python语言程序设计基础笔记(三)计算机思维

python语言程序设计基础笔记(三)计算机思维

时间:2019-04-14 01:14:45

相关推荐

python语言程序设计基础笔记(三)计算机思维

计算机思维

计算机思维的本质是抽象和自动化。

计算机思维特征:

设计构造

在程序设计范畴,计算思维主要反映在理解问题的计算特性、将计算特性抽象为计算问题、通过程序设计语言实现问题的自动求解等几个方面。

面向过程POP(protocol-oriented programming)

一、自顶向下

自顶向下:用于解决复杂问题,其基本思想是以一个总问题开始,试图把它表达为很多小问题组成的解决方案。再用同样的技术一次攻破每个小问题,最终问题变得非常小,以至于可以很容易解决。然后只需把所有的碎片组合起来,就可以得到一个程序。以体育竞技为例,如下图所示,具体参考---python语言程序设计基础

二、顶层设计

自顶向下设计中最重要的是顶层设计。我们可以从问题的IPO描述开始,体育竞技分析从用户处得到模拟参数,最后输出结果。顶层设计一般不写出具体代码,仅给出函数定义。接下来的层理念大都相同,即接受输入,通过函数将中间细节封装或隐藏,返回输出。每层的输入以及输出是层设计的核心,其余的细节部分可以被忽略。这类似于抽象的概念,即仅仅关心典型特征,忽略其他细节。

关于抽象,我们使用抽象数据类型来提供数据对象的外观(其状态)及其可以执行的操作(其方法)的逻辑描述。 通过构建实现抽象数据类型的类,程序员可以利用抽象过程,同时提供在程序中实际使用抽象所需的详细信息。 每当我们想要实现抽象数据类型时,我们都会使用新类。

三、面向过程的程序设计 (结构化编程)

面向过程的程序设计是最自然的设计方法,程序执行过程为设计流程。

面向过程的程序设计基本步骤

第一步:分析程序从输入到输出的各步骤第二步:按照执行过程,从前到后编写程序第三步:将高耦合部分封装成模块或函数第四步:输入参数,按照程序执行过程调试

python中面向对象编程-定义类

Python是一种面向对象的编程语言。面向对象更关注数据,然而它与面向过程并不冲突,甚至可以互相弥补。面向对象编程语言中最强大的功能之一是允许程序员(问题解决者)创建新类,以模拟解决问题所需的数据。

面向对象特点:

封装: 打包数据和操作。对象的实现与使用独立,支持代码复用。多态: 同一函数名启用不同方法。例如列表包括Circle、Rectangle、Polygon,则使用obj.draw()则画出不同的形状。继承:一个类(subclass)可以借用另一个类(superclass)的行为。优点,避免操作重复,提升代码复用程度。

一、面向对象程序设计的基本步骤

第一步:根据功能,抽象业务对象第二步:构建独立地业务模块,利用封装、继承、多态等抽象业务需求。第三步:编写程序第四步:以对象为输入单位输入参数、开展测试

具体参考/83747/

二、自底向上

自底向上:测试中等程序的最好方法是从结构图最底层开始,而不是从顶部开始,然后逐步上升。即,执行测试每一个基本函数,再测试由基础函数组成的整体函数,这样有助于定位错误。面向对象遵循自底向上。

总结

通过模块化设计可以分解问题使得编写复杂程序成为可能,通过单元测试方法分解问题使运行和调试复杂程序成为可能。自顶向下和自底向上贯穿程序设计和执行的整个过程。两者比较如下

Difference between OOP and POP

拓展:软件开发模型

软件开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成软件的主要活动和任务,用来做为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法,使用不同的编程语言,组织不同技能的人员,运用不同的管理方法等。

参考

中文/video/av10681614/?p=47

中文/facert/python-data-structure-cn/tree/master/1.%E4%BB%8B%E7%BB%8D

英文/pop-vs-oop/

如果觉得《python语言程序设计基础笔记(三)计算机思维》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。