更多课程 选择中心


Python培训

400-111-8989

Python面向对象,案例解读通俗易懂!

  • 发布:Python培训
  • 来源:达内Python人工智能
  • 时间:2019-01-16 11:30

今天达内Python培训为大家解读的是Python面向对象,也许你在自学Python的过程中对这里的内容百思不得其解,没关系,来看看我们今天的案例解读之Python面向对象,也许会让你豁然开朗!

Python面向对象,Python案例解读

Python可以定义为面向对象的脚本语言,到底什么是“面向对象”?到底什么是“对象”?

一切皆对象,大概意思就是你在Python中输入放入一切、在Python中看到的一切都可以称之为“对象”。

讲到这,“对象”这个概念你清楚了吗?另外我了解到Python和C、JAVA的区别,其中有一点是这样的:

Python是面向对象的语言,C是面向过程的语言,“面向对象”和“面向过程”到底又是个什么意思呢?翻书、查资料、知乎,直到我在相关问题下看到了@完美龙小猫的一篇回答:面向过程是编年体;面向对象是纪传体。读到这一句话,我就豁然开朗了,这里我再跟你说说纪传体和编年体的区别,也许你就更清楚了。

首先编年体是以年代为线索编排有关历史事件,编年体史书以时间为中心,按年、月、日顺序记述史事,简而言之就是我按时间顺序把一段历史写下来,某某某在什么时间先干了什么后干了什么,接下来要干什么。要记叙的所有东西事先都按时间顺序已经排列好了,我们要做的就是填写在什么时间这个具体的事情是如何发生的。

而纪传体则是以为人物立传记,像司马迁的《史记》就是这一类型,简而言之就是把一段历史分为不同的块,这段历史都是谁参与的,谁做了什么,综合这些人物的块你就可以描述出这段历史的大致样貌。

讲到这,我想那些有编程经历的人或许应该已经明白了“面向对象”和“面向过程”的区别,下面我就具体举一个例子来说明这个问题。

首先我们要明白一个概念,即面向对象编程语言中的“块”。学过Python的人应该都知道Python中一个非常经典的语句:import xxx

即导入一个模块,这个意思就是说我事先在这个模块下实现了某个功能,你现在要用到这种功能就不需要重新编写一遍,你只需导入我写的这个模块就可以实现你想要的功能了。

好了,我们开始我们的例子。

现在比如让你编写一个机械手臂来打开冰箱取东西的程序。(别担心这里不会出现具体代码,事实上我也是初学者,并不会编写这一段代码。)

那么面向过程编写的代码是这样的:

1.函数f1(机械右手,冰箱):机械右手打开冰箱。

2.函数f2(机械左手,要取的东西):机械左手拿出东西。

3.函数f3(机械右手,冰箱):机械右手关上冰箱。

而面向过程是这样的:

首先定义一个对象——机械手臂,机械手臂具有两个属性,即机械左手和机械右手。接着写出三个方法,即打开冰箱,拿出东西,关上冰箱。

1.机械右手调用方法——打开冰箱

2.机械左手调用方法——取出东西

3.机械右手调用方法——关上冰箱

通过对比以上两种实现机械手臂来打开冰箱取东西的方式,我们可以看出,“面向对象”和“面向过程”的区别:

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

面向对象”和“面向过程”各有优缺点,但是由于我是学习的面向对象的Python,这里我讲一下面向对象的优点,还是上一个例子,上面例子中的机械手臂是左手拿出东西,我们假设这个机械手臂是一个左撇子,那么要是一个右撇子来打开冰箱该怎么办呢?

如果你是面向过程设计,那么机械手臂的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,即如下过程:

1.机械左手调用方法——打开冰箱

2.机械右手调用方法——取出东西

3.机械左手调用方法——关上冰箱

我们只需把左右手的顺序调换一下即可,不需要像面向过程语言那样重新编写一遍程序。当然面向过程也有着自己的优点,在这里我就不多赘述了。

感谢您的阅读,以上就是今天达内Python培训分享给大家的知识:案例解读之Python面向对象,现在你清楚什么是面向对象了吗?更多有趣好玩的Python新知,就在达内Python培训机构,敬请关注!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:你所不知道的Python功能特色,屌炸了!
下一篇:什么是Python字符串切片?如何进行Python字符串切片操作?

如何运用Python编程处理大数据?用Python编程处理大数据的技巧是什么?

Python面向对象编程的知识点都在这了!

Python的高级特征及用法(部分)

听说这些Python知识,很少有人知道!

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省