Python轻松入门-26 类和对象

本文通过创建敌人类的实例,详细介绍了Python中类与对象的基本概念及应用,包括类的定义、对象的创建、成员变量与成员方法的使用等。
视频教程下载链接:http://pan.baidu.com/s/1bpafogn

配套教程下载:http://pan.baidu.com/s/1qYdI6q4

这节课,我们来讲解类和对象。那么,类是啥?最简单的对类的解释就是:类是由某种特定的数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例,不明白不要紧,接下来我们就来详细介绍。在Python中类的关键字是class,假如现在我们来创建一个小游戏,首先需要创建一个敌人类Enemy,它有一个类成员life表示它的生命值,我们把它初始值设为3:

 
class Enemy: life = 3
然后我们可以为敌人类添加一个函数来模拟当敌人遭受攻击时的场景:
    def attack(self): print("掉一滴血") self.life -= 1
这里的self相当于C++或者Java中的this指针,也就是说,它代表的是敌人这个类的本身。所当调用这个函数时,会将自己的生命值减1。现在我们再创建一个函数,来检查敌人是否活着:
    def checkLife(self): if self.life <= 0: print("我屎了") else: print("我还活着,来打我呀!")
所以现在我们已经有了一个完整的敌人类,它可以被攻击,然后,我们也可以判断它是否还活着。 现在我们来调用它,比如说直接调用attack函数:
attack()
但是你看,编译器提示错误,这是因为:如果想要访问类中的任何成员,比如说成员变量或者成员函数,你需要通过另一种特别的方式,就是创建一个对象。创建对象实际上和创建变量非常相似,这里我们声明一个对象enemy1,然后通过Enemy类对它进行赋值,接着,我们就可以通过enemy1来调用函数attack:
enemy1 = Enemy() enemy1.attack()
所以以上代码的意思就是说,enemy1是通过类Enemy实例化后的一个对象,所以这个对象就可以调用它本身所具有的功能函数attack。现在我们不妨运行下: 图 5‑1 这里就会打印出掉一点血,符合我们的预期,现在我们来检查敌人是否还活着:
enemy1.checkLife()
运行: 图 5‑2 输出我还活着,因为现在还剩下2滴血。 这里我想说明为什么大家都会使用类来编写程序的原因。实际上,每一个对象都是类的一个实例,所以一个对象和另一个对象它们之间是相互独立的。比如说,这里我创建另一个Enemy对象enemy2,它被攻击了3次:
enemy2 = Enemy() enemy2.attack() enemy2.attack() enemy2.attack() enemy2.checkLife()
在运行之前,我们先对这段代码解释一下: enemy1和enemy2它们之间是相互独立的,它们初始的时候都有3滴血,所以当我攻击enemy1时,enemy2并不会受到影响,这里我们运行: 图 5‑3 你看,enemy1只被攻击了1次,所以它还活着,enemy3被攻击了3次,掉了3滴血所以它屎了。所以这就是大家使用类和对象来编写计算机应用程序的原因,类只是对事物的抽象,这样我们就可以根据现实生活中各种各样的情况来实例化类,从而产生具有不同数据值的对象,这就是面向对象编程的核心。 更多精彩内容尽在视频中!   本文固定链接:http://www.oxox.work/web/python/class-object/ | 虚幻大学

查看原文:http://www.oxox.work/web/python/class-object/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值