今日作业
1.什么是对象?什么是类?
对象:从现实世界中抽象出来的特征与技能的结合体
类:一系列对象特征与技能的结合体
2.绑定方法的有什么特点
把对象当做第一个参数传入绑定方法中,由不同的对象调用,就把不同的对象传给不同的绑定方法
3.基于面向对象设计一个对战游戏
class Person: '''人类''' def __init__(self,name,money,aggr,life_value): self.name = name self.money = money self.aggr = aggr self.life_value = life_value def attack(self,dog): if self.life_value > 0: dog.life_value -= self.aggr print(f''' {self.name}攻击{dog.name}成功 {self.name}生命力{self.life_value} {dog.name}生命力{dog.life_value} ''') return True class Dog: '''狗类''' def __init__(self,name,aggr,life_value): self.name = name self.aggr = aggr self.life_value = life_value def attack(self,person): if self.life_value > 0: person.life_value -= self.aggr print(f''' {self.name}攻击{person.name}成功 {self.name}生命力{self.life_value} {person.name}生命力{person.life_value} ''') return True class Weapon: '''武器类''' def __init__(self,money,aggr,life_value): self.money = money self.aggr = aggr self.life_value = life_value def update(self,obj): obj.money -= self.money obj.life_value += self.life_value obj.aggr += self.aggr def pick(self,obj): obj.life_value -= 500 print(f'{obj.name}的生命力还有{obj.life_value}') person1 = Person('nick',10000,300,1000) dog1 = Dog('hashiqi',500,5000) weap1 = Weapon(5000,300,2500) print(person1.__dict__) if person1.money > weap1.money: weap1.update(person1) person1.weapon = weap1#将weapon放入person的个人属性里面,这样就可以调用person了 person1.attack(dog1) person1.weapon.pick(dog1)