读者一定听过Python中“一切都是对象”的说法,但可能不知道它的具体含义。他们在学习的时候才听说Python是面向对象的编程语言。本节将详细介绍Python的面向对象含义。
面向对象编程是在面向过程编程的基础上发展起来的,它比面向过程编程更具灵活性和可扩展性。面向对象编程是程序员发展的分水岭。许多初学者会因为无法理解面向对象而放弃学习编程。
面向对象编程是一种封装代码的方法。其实在前一章的学习中,我们已经接触过封装,比如把杂乱的数据扔进列表,这是一个简单的封装,这是数据层面的封装;将公共代码块打包成函数也是一种封装,这是语句级的封装。
代码封装,其实就是把实现功能的具体代码隐藏起来,只给用户留下接口,就像使用电脑一样,用户只需要用键盘和鼠标来实现一些功能,完全不需要知道它的内部是如何工作的。
本节描述的面向对象编程也是一种封装思想,但它显然比上述两种类型的封装更高级。它可以更好地模拟现实世界的事物(把它们当作对象),用代码块(函数)封装描述特征的数据。
比如在游戏中设计一只乌龟,应该如何实现?使用面向对象的思想更简单,可以从以下两个方面来描述:
1、从表面特征来说,比如绿色,有4条腿,重10kg,有壳等等。
2.它是从它的行为来描述的,比如,它可以爬,可以吃,可以睡,可以把头和四肢缩到壳里,等等。
如果用代码来表示乌龟,可以用变量来表示它的表面特征,通过建立各种函数来表示它的行为特征。参考代码如下:
类别侵权:
BodyColor='绿色'
footNum=4
重量=10
哈斯赫尔=真
#能爬。
def爬网(自):
印刷体(“乌龟会爬”)
#可以吃。
def eat(self):
打印(“乌龟吃”)
#睡觉。
def睡眠(自我):
打印(“乌龟在睡觉”)
#会缩成壳。
def保护(自我):
Print('海龟缩进壳里')1234567891011121314151617 Copy代码类型:【python】注意,上面的代码只是为了演示面向对象的编程思想,具体细节后面会详细介绍。
因此,在一些程序中,使用面向对象的思维比只使用变量或函数能更好地模拟现实生活中的事物。
此外,在Python中,所有变量实际上都是对象,包括int、float、str、list、tuple、dict和set。以字典(dict)为例,它包含了很多我们可以使用的功能,比如用key()获取字典中所有的键,用values()获取字典中所有的值,用item()获取字典中所有的键值对等等。
00-1010在系统学习面向对象编程之前,初学者应该了解一些关于面向对象的术语。当与他人讨论代码时,或者试图找到我们遇到的问题的解决方案时,了解正确的术语是有帮助的。
在面向对象中,常用术语包括:
类:可以理解为一个模板,通过它可以创建无数具体的实例。比如前面写的乌龟,只代表乌龟的种类,通过它可以创建无数个实例来代表不同特征的乌龟(这个过程也叫类实例化)。
对象:类不能直接使用,但可以使用该类创建的实例(也称为对象)。这有点像汽车图纸和汽车的关系。图纸本身(类)不能被人使用,只能使用图纸创建的车(物)。
属性:类中的所有变量都称为属性。例如,在类乌龟中,bodyColor、footNum、weight、hasShell都是这个类拥有的属性。
方法:类中的所有函数通常都称为方法。但是,与函数不同,类方法必须包含至少一个self参数(这将在后面详细描述)。比如在乌龟类中,crawl(),eat(),sleep(),protect()都是这个类拥有的方法,类方法不能单独使用,只能和类的对象一起使用。
凯驰广场——人才学习交流平台。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/38201.html