下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是面向对象,Python面向对象(一切皆对象) 读者肯定听过Python中一切皆对象”的说法,但可能并不了解它的具体含义,只是在学 习的时候听说Python是面向对象的编程语言,本节将向大家详细介绍Python面向对象 的含义。面向对象编程是在面向过程编程的基础上开展来的,它比面向过程编程具有更强的灵活性和 扩展性。面向对象编程是程序员开展的分水岭,很多初学者会因无法理解面向对象而放弃学 习编程。面向对象编程(Object-oriented Programming ,简称OOP ),是一种封装代码的方法。 其实,在前面章节的学习中,我们已经接触了封装,比方说,将乱七八糟的数据扔进列表中,
2、这就是一种简单的封装,是数据层面的封装;把常用的代码块打包成一个函数,这也是一种 封装,是语句层面的封装。代码封装,其实就是隐藏实现功能的具体代码,仅留给用户使用的接口,就好像使用计算机, 用户只需要使用键盘、鼠标就可以实现一些功能,而根本不需要知道其内部是如何工作的。本节所讲的面向对象编程,也是一种封装的思想,不过显然比以上两种封装更先进,它可以 更好地模拟真实世界里的事物(将其视为对象),并把描述特征的数据和代码块(函数)封 装到一起。打个比方,假设在某游戏中设计一个乌龟的角色,应该如何来实现呢?使用面向对象的思想会 更简单,可以分为如下两个方面进行描述:从外表特征来描述,例如,绿色的、有
3、4条腿、重10 kg、有外壳等等。从所具有的的行为来描述,例如,它会爬、会吃东西、会睡觉、会将头和四肢缩到壳里,等等。如果将乌龟用代码来表示,那么其外表特征可以用变量来表示,其行为特征可以通过建立各种函数来表示。参考代码如下所示:class tortoise:bodyColor =绿色”footNum = 4weight = 10hasShell = True#会爬def crawl(self):print(乌龟会爬”)#会吃东西def eat(self):print(“乌龟吃东西”)#会睡觉def sleep(self):print(“乌龟在睡觉”)#会缩到壳里def protect(sel
4、f):print(“乌龟缩进了壳里“)注意,以上代码仅是为了演示面向对象的编程思想,具体细节后续会做详细介绍。因此,从某种程序上,相比拟只用变量或只用函数,使用面向对象的思想可以更好地模拟现实生活中的事物。不仅如此,在Python中,所有的变量其实也都是对象,包括整形(int )、浮点型(float). 字符串(str)、列表(list)、元组(tuple)、字典(diet)和集合(set) o以字典(diet)为 例,它包含多个函数供我们使用,例如使用keys()获取字典中所有的键,使用values()获 取字典中所有的值,使用item()获取字典中所有的键值对,等等。面向对象相关术语在系统
5、学习面向对象编程之前,初学者要了解有关面向对象的一些术语。当和其他人讨论代 码的时候,或者尝试查找我们遇到的问题的解决方案时,知道正确的术语会很有帮助。面向对象中,常用术语包括:类:可以理解是一个模板,通过它可以创立出无数个具体实例。比方,前面编写的 tortoise表示的只是乌龟这个物种,通过它可以创立出无数个实例来代表各种不同特征的 乌龟(这一过程又称为类的实例化)。对象:类并不能直接使用,通过类创立出的实例(又称对象)才能使用。这有点像 汽车图纸和汽车的关系,图纸本身(类)并不能为人们使用,通过图纸创立出的一辆辆车(对 象)才能使用。属性:类中的所有变量称为属性。例如,tortoise这个类中,bodyColor、footNum、 weight hasShell都是这个类拥有的属性。方法:类中的所有函数通常称为方法。不过,和函数所有不同的是,类方法至少要 包含一个self参数(后续会做详细
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医院药剂科工作总结及2026年工作计划
- 绿城面砖排版勾缝施工工艺
- 风电齿轮箱检修规程深度解析
- 2026年北京市第四中学七年级英语第5单元阅读理解专项训练习题及答案
- 生物化学第8章酶学通论
- 焊工理论培训模版课件
- 2026年山东省鲁教版初中英语九年级下册阅读理解专项训练习题及答案
- 2026秋小学苏教版科学二年级上册第二单元学情测试练习卷附答案三套
- 北师大版物理因子治疗原理与应用综合测试卷及答案
- 2026年江苏省苏教版高中一年级英语上册第6单元同步练习题及答案
- 瓶装矿泉水生产成本核算
- 高三生物一轮复习教学设计:生态系统稳定性与生物多样性保护
- 《勤洗生活衣物》教学课件 - 2026-2027 学年滇教版初中劳动技术七年级上册
- 马尔康市人力资源和社会保障局2026年增量政策性岗位招募的(1人)考试备考试题及答案详解
- AI商标保护与价值挖掘
- 【MOOC】医学心理学-北京大学 中国大学慕课MOOC答案
- 江苏名校六年级语文上册第一、二单元试卷及答案
- JBT 14606-2023 RH精炼炉多功能顶枪 (正式版)
- DZ∕T 0339-2020 矿床工业指标论证技术要求(正式版)
- GB/T 748-2023抗硫酸盐硅酸盐水泥
- 一般固废处理合同协议范本
评论
0/150
提交评论