第五章---面向对象---小练习

本文通过两个实战案例介绍Python中类与对象的应用:一是统计创建的学生对象数量;二是定义英雄类进行模拟战斗,展示了如何使用类属性及方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习1:编写一个学生类,产生一堆学生对象
要求:
有一个计数器(属性),统计总共实例化了多少个对象
 1 class Student:
 2     school = 'luffycity'
 3     count = 0
 4 
 5     def __init__(self,name,age,sex):
 6         self.name = name
 7         self.age = age
 8         self.sex = sex
 9         # self.count += 1  # 只能累加到独有的对象上面
10         Student.count += 1 # 累加到全局的count上面
11 
12     def learn(self):
13         print('%s is learning'% self.name)
14 
15 stu1 = Student('mm',18,'')
16 stu2 = Student('mumu',1,'')
17 
18 print(stu1.count)
19 print(Student.count)

 

练习2:模仿LoL定义两个英雄类
要求:
英雄需要有昵称,攻击力,生命值等属性
实例化出两个英雄对象
英雄之间可以互殴,被殴打的一方掉血,血量小于0则判定为死亡
 1 class HeroDog:
 2     def __init__(self,name,attack,life_value):
 3         self.name = name
 4         self.attack = attack
 5         self.life_value = life_value
 6 
 7     def attack_other(self,enemy):
 8         enemy.life_value -= self.attack
 9         if enemy.life_value <= 0:
10             print('%s 没有血量,宣布死亡!'% enemy.name)
11         else:
12             print('%s血量剩余%s'% (enemy.name,enemy.life_value))
13 
14 class HeroPig:
15     def __init__(self,name,attack,life_value):
16         self.name = name
17         self.attack = attack
18         self.life_value = life_value
19 
20     def attack_other(self,enemy):
21         enemy.life_value -= self.attack
22         if enemy.life_value <= 0:
23             print('%s 没有血量,宣布死亡!'% enemy.name)
24         else:
25             print('%s血量剩余%s'% (enemy.name,enemy.life_value))
26 
27 hero_d = HeroDog('dog',10,100)
28 hero_p = HeroPig('pig',20,80)
29 
30 hero_d.attack_other(hero_p)
31 hero_d.attack_other(hero_p)
32 hero_p.attack_other(hero_d)
33 hero_p.attack_other(hero_d)

 

转载于:https://www.cnblogs.com/mumupa0824/p/8950324.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值