python类不支持的操作数类型

python类不支持的操作数类型,python,class,Python,Class,我正在尝试制作一个模拟口袋妖怪游戏,但每次它都会抛出以下代码的错误“不支持的操作数类型-=:'int'和'move'”: class pokemon(object): def __init__(self,hp): self.hp = hp def getHit(self,damage,hp): self.hp -= damage print str(self.hp) class move(object): def __

我正在尝试制作一个模拟口袋妖怪游戏,但每次它都会抛出以下代码的错误“不支持的操作数类型-=:'int'和'move'”:

class pokemon(object):

    def __init__(self,hp):
        self.hp = hp

    def getHit(self,damage,hp):
        self.hp -= damage
        print str(self.hp)

class move(object):
    def __init__(self,damage):
        self.damage = damage


unit = pokemon(10)
tackle = move(3)
enemyUnit = pokemon(4)
enemyUnit.getHit(tackle,unit)

我需要更改什么才能使代码正常工作?

我猜您希望传递的是类的属性,而不是类本身

enemyUnit.getHit(tackle.damage,unit)

我猜您希望传递类的属性,而不是类本身

enemyUnit.getHit(tackle.damage,unit)

我猜您希望传递类的属性,而不是类本身

enemyUnit.getHit(tackle.damage,unit)

我猜您希望传递类的属性,而不是类本身

enemyUnit.getHit(tackle.damage,unit)

使用
enemyUnit.getHit(滑车,单位)
传递的口袋妖怪对象,而使用
enemyUnit.getHit(滑车,单位)
传递的口袋妖怪对象,使用
getHit
传递的口袋妖怪对象,使用
enemyUnit.getHit(滑车,单位)

传递的口袋妖怪对象
当你的
getHit
方法需要数字时,你正在传递的口袋妖怪对象

使用
enemyUnit。getHit(阻截,单位)
当你的
getHit
方法需要数字时,你正在传递的口袋妖怪对象

仍然在看你的代码,但只是在一旁,对于python代码,如果您坚持以大写字母开始类名的公认惯例,那么其他人会更容易理解,这样它们看起来就不会像函数一样,可能会重复您的代码,而只是作为旁白,对于python代码,如果您坚持以大写字母开始类名的公认惯例,那么其他人会更容易理解,这样它们看起来就不会像函数一样,可能会重复您的代码,而只是作为旁白,对于python代码,如果您坚持以大写字母开始类名的公认惯例,那么其他人会更容易理解,这样它们看起来就不会像函数一样,可能会重复您的代码,而只是作为旁白,对于python代码,如果您坚持以大写字母开头的类名的公认惯例,那么其他人会更容易使用python代码,这样它们就不会看起来像函数可能重复的+1 Lol。我忘了您可以返回属性
damage
本身:)我尝试了您的修复,效果很好,谢谢,但如果我想添加另一个属性,比如从单位获得的攻击属性乘以伤害,它不会让我只放enemyUnit.getHit(阻截.伤害,单位.攻击)而不说getHit需要4个参数,我只放了3…+1 Lol我忘了你可以返回属性
伤害
本身:)我尝试了你的修复,这很有效,所以谢谢,但若我想添加另一个属性,比如从单位获得的攻击属性和伤害相乘,它不会让我只放置enemyUnit.getHit(阻截.伤害,单位.攻击)没有说getHit需要4个参数,我只放了3…+1个Lol,我忘了你可以返回属性
damage
本身:)我尝试了你的修复,它成功了,所以谢谢,但是如果我想添加另一个属性,比如从单位获取的攻击属性乘以伤害,它不会让我只放enemyUnit.getHit(铲球。伤害,单位。攻击)没有说getHit需要4个参数,我只放了3…+1 Lol我忘了你可以返回属性<代码>伤害本身:)我尝试了你的修复,它成功了,谢谢,但是如果我想添加另一个属性,比如从单位获取的攻击属性乘以伤害,它不会让我只放enemyUnit.getHit(阻截.伤害,单位.攻击)而不说getHit需要4个参数,我只放了3个。。。