练习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)