美文网首页
python 编程思想发展历程

python 编程思想发展历程

作者: 云Shen不知处 | 来源:发表于2017-07-29 10:13 被阅读0次

何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦。而这种茫然,其实就是对这两大编程思想的迷糊之处。

一、面向过程
首先我们来认识下,什么是面向过程?如果咬文嚼字的话可以这样来理解,面向过程就是面向解决问题的过程进行编程。仔细思考一下,我们在学习和工作中,当我们去实现某项功能或完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事情?(如果没有,建议以后试着步骤化解决问题)。而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题就是面向过程。

传统的面向过程的编程思想总结起来就八个字——自顶向下,逐步细化!实现步骤如下:

将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程);

依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步骤再次细化为若干个子步骤,以此类推,一直到结束得到想要的结果;

程序的主体是函数,一个函数就是一个封装起来的模块,可以实现一定的功能,各个子步骤往往就是通过各个函数来完成的,从而实现代码的重用和模块化编程!

二、面向对象
讨论完了面向过程,我们再来认识下面向对象。所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通过调用这些实体的属性和方法去解决问题。

现实世界中,任何一个操作或者是业务逻辑的实现都需要一个实体来完成,也就是说,实体就是动作的支配者,没有实体,就肯定没有动作发生!

三、面向对象和面向过程的比较

在我们将面向过程和面向对象讨论完后,会明显的感觉两者之间有着很大的区别。面向过程简单直接,易于入门理解,模块化程度较低。而面向对象相对于面向过程较为复杂,不易理解,模块化程度较高。可总结为下面三点:

都可以实现代码重用和模块化编程,但是面对对象的模块化更深,数据更封闭,也更安全!因为面向对象的封装性更强!

面对对象的思维方式更加贴近于现实生活,更容易解决大型的复杂的业务逻辑

从前期开发角度上来看,面对对象远比面向过程要复杂,但是从维护和扩展功能的角度上来看,面对对象远比面向过程要简单!

相关文章

  • python 编程思想发展历程

    何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要...

  • 面向对象编程思想及其特点

    面向对象的编程思想的发展历程 我理解的面向过程与面向对象 自从学习python以来,以前所接触的代码是根据实际的案...

  • 7.27学习 面向对象(下)(继承、多态)

    面向对象编程思想的发展历程 面向对象(Object Oriented):是一种编程思想,是一种对现实世界的理解和抽...

  • 面向对象编程思想的发展历程

    从面向过程到面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精...

  • 面向对象编程思想的发展历程

    面向对象: 面向对象是一种编程思想,是一种对现实世界的理解和抽象的方法,已经从程序设计开发,扩展到了数据库系统、交...

  • 《Python从小白到大牛》简介

    《Python从小白到大牛》已经上市! 本书是一部系统论述Python编程语言、OOP编程思想以及函数式编程思想的...

  • *完善面向对象编程思想的发展历程

    1>面向对象和面向过程的区别 过程化程序设计先确定算法,在确定数据结构,面向对象程序设计先确定数据结构,在确定算法...

  • 面向对象编程思想的发展历程(三)

    Simula 面向对象技术最早是在编程语言Simula中提出的。1967年5月20日,在挪威奥斯陆郊外的小镇莉沙布...

  • Python编程思想是什么?

    我们在接触Python的过程中,一定会了解到Python的编程思想,那么Python的编程思想是什么呢?有多少个呢...

  • 编程语言发展历程

    打孔纸条我们已经知道了计算机只懂机器语言,也就是二进制的数据表示方式,任何对它的操作和编码,最终都要统一到这上面来...

网友评论

      本文标题:python 编程思想发展历程

      本文链接:https://www.haomeiwen.com/subject/qpvqlxtx.html