打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python面向对象编程(上)
excelperfect

标签:Python
有几种不同的编程范式,面向对象编程(OOP)是Python语言中最流行的编程范式之一。
什么是对象?
在面向对象编程中定义的对象也称为“类(class)”,本质上是希望组合成单个实体的相关属性、函数和方法的集合。这也是为什么首先要创建一个对象。每当想在单个实体的名称下收集许多属性、函数和方法,因为它们在某种程度上是逻辑相关的,而对象就是实现这一点的好方法。
对象的经典定义通常涉及对蓝图(blueprint)的引用。蓝图与它描述如何构建的对象不同,但可以使用单个蓝图以完全相同的规范创建同一对象的多个版本。类似于函数是可重复的代码块,对象更进一步。函数有一个输入和一个输出,因此当到达输出时,代码停止重复。然而,对象保持活动状态,并随时准备对我们放入的任何情况做出反应,直到明确删除它。
注意,每当开始谈论可重复的代码块时,我们和“用户”之间的界限就开始模糊。对象和函数都用于简化编程,而不管是谁在使用它。在本文中,将对象的“用户”称为任何希望实例化创建的对象的程序员,但要知道,我们通常是自己的用户。
什么是对象的实例?
实例是对象的单个实现。它是在对象/类定义中编写的代码的可操作副本。对于那些已经了解数据库的人来说,可以想象一个对象是一个表,而一个实例是该表的一行,事实上,有一些成熟的Python包,比如SQLAlchemy,使用这种类比作为起点。
在蓝图隐喻中,实例是实际的事物本身,是我们根据其蓝图构建这个对象之后所做的,可以想象我们自己是地球上Person类的一个实例。代码可以调用、复制和创建任意数量的对象实例,它们都将按照在类定义/蓝图中规定的方式进行操作。创建对象实例的过程称为实例化。
Python面向对象编程实例
作者最喜欢的OOP、对象、实例以及如何思考这一切的例子是一个叫做小行星(Asteroids)的旧视频游戏。随着事情进展,有一艘飞船和越来越多的小行星要摧毁。考虑一下如何从DRYWET的角度编写这个程序。
用最少的代码制作游戏的最简单方法不是为每个小行星编写代码,特别是因为我们希望每个小行星的行为基本相同。相反,将创建两个主要对象(蓝图),一个飞船(ship)对象和一个小行星(asteroid)对象。然后让玩家的进度决定屏幕上小行星对象的实例数。这些实例中的每一个都可以跟踪其内部状态,例如它的运行速度、是否损坏或没有使用从对象定义(蓝图)中复制的代码。
这个小行星游戏是在Python中练习面向对象编程的一个很好的练习。
让我们看看这些概念在一些可执行Python中的作用:
1
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python办公自动化所需要掌握的Python基础知识
Python 面向对象(初级篇)
翻译:《实用的Python编程》04
python编程入门之十一:类和对象
一、什么是面向对象,Python面向对象(一切皆对象)
Python面向对象之为何要用类?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服