python编程有面向过程、面向函数、面向对象三种,那么他们区别在哪呢?这个问题,让我想起我在学习编程的时候,我的老师给我举的例子。分享给大家。

面向过程就是将编程当成是做一件事,要按步骤完成!

比如煮咖啡这件事,先拿一定量的咖啡豆,然后磨成粉末,再倒入咖啡机,等待几分钟,就煮好了咖啡。大概过程是这样的

整个过程是按步骤一步一步执行,最终达到目标!

面向函数呢,就是将编程分成N件事情,分配每件事情为一个函数,然后要按步骤执行函数完成!

同样是上面的例子,我们可以这样实现

python之面向过程,函数式编程,面向对象浅析

分解整个任务,执行每个单独小任务,该哪个任务执行,就通知对方即可,执行的过程呢,已经提前封装在函数内了!

面向对象就不一样了,将整个任务封装成一个大的类,在这个类里面详细分解执行每个步骤,只需要执行类就可以完成任务

还以上面例子来说,面向对象就是我不再自己煮咖啡了,而且先设计一个机器人,告诉它煮咖啡的每个步骤(这里注意,你可以使用别人机器人提前设定好的程序哦),然后放在一边,当我想煮咖啡的时候,只需要给机器人一个指令,就自动煮好一杯咖啡了!在代码中是这样的

python之面向过程,函数式编程,面向对象浅析

只需要告诉机器人,去煮咖啡,一会机器人会自动将咖啡煮好并报告结果!

总结

面向过程:需要你自己去一步一步的执行,每一次都要你复制粘贴这些代码

面向函数:也是需要自己去一步一步执行,只是执行的过程已经提前设定好了,

面向对象:让机器人去执行 ,因为已经设定好执行步骤,你只需等待结果就好了

这三种方法如果是第一次使用,区别不大。区别就在于复用性上,也就是第二次,第三次使用的时候,你发现面向对象只需要调用一下实例化对象就行了,第二种方法需要一个一个调用函数,

站在计算机程序角度来讲,面向过程(函数)和面向对象的本质理解为:

面向过程(函数)的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。总的来说:面向对象是将事物高度抽象化,面向对象必须先建立抽象模型,之后直接使用模型就行了;面向过程是一种自顶向下的编程!

分类:

技术点:

相关文章: