Python 如何访问对象的类值,反之亦然?
我是一个相当新的程序员,最近我学习了一些试图简化的类,我想知道如何将一个类的实例变量访问到另一个类的实例变量,反之亦然,在代码中,我想让敌人知道英雄的生命值,让敌人知道英雄受到的伤害,看看注释部分。请帮忙,我知道我应该试着自己解决这个问题,但我试过了,却没有人帮我Python 如何访问对象的类值,反之亦然?,python,class,Python,Class,我是一个相当新的程序员,最近我学习了一些试图简化的类,我想知道如何将一个类的实例变量访问到另一个类的实例变量,反之亦然,在代码中,我想让敌人知道英雄的生命值,让敌人知道英雄受到的伤害,看看注释部分。请帮忙,我知道我应该试着自己解决这个问题,但我试过了,却没有人帮我 class Hero(object): def __init__(self,name): self.name = name #hero name self.health = 100 #hero
class Hero(object):
def __init__(self,name):
self.name = name #hero name
self.health = 100 #hero health
self.damage = 20 #hero damage
print "My health now is ",self.health,
def gethit (self):
self.health = self.health - 10 #Ten is the Enemy damage value but I don't know how to get from enemy class so put constant
print"\nOuch my health now is ",self.health
class Enemy(Hero):
def __init__(self,name):
self.damage = 10 #enemy damage
self.name = name #enemy name
self.health = 100 #enemy name
print "Bwahahah I know you have ",#want hero health of hero after being hit value of health after gethit function in Hero
mark = Hero("Mark")
mark.gethit()
jake = Enemy("Jake")
这不太正确。您希望英雄和敌人都从其他类继承,比如Person,但现在可以将其作为普通Python对象类。现在要回答您的问题,mark必须是一个属性、字段或类值,因为您在类中引用它。你需要为每个敌人添加一个英雄,然后你就可以获得这个英雄的生命值。看一看
class Hero(object):
def __init__(self,name):
self.name = name #hero name
self.health = 100 #hero health
self.damage = 20 #hero damage
print "My health now is ",self.health,
def gethit (self):
self.health = self.health - 10 #Ten is the Enemy damage value but I don't know how to get from enemy class so put constant
print"\nOuch my health now is ",self.health
class Enemy(object):
def __init__(self, name, hero):
self.damage = 10 #enemy damage
self.name = name #enemy name
self.health = 100 #enemy name
self.hero = hero
print "Bwahahah I know you have " + self.hero.health
mark = Hero("Mark")
mark.gethit()
jake = Enemy("Jake", mark)
打印bwahah我知道你有+self.hero.health实际上是打印bwahah我知道你有,self.hero.health为了整个事情的顺利进行,我自己想出来了,因为你再次感谢我的想法:@SamThomas你可以通过接受答案,投票认为答案有用或两者都有用来感谢布尔巴基!啊,好吧,我是新来的论坛,我接受了,不能投票,因为我需要15个信誉点