首页 > 解决方案 > 调用实例类的方法时,“int”对象不可调用

问题描述

我不知道如何解决它,但我认为我的代码很清楚。我是初学者级别的python学习者。

在这里,我创建了一个Hero具有方法的类attack。但是,当我调用它所说的方法时,出现错误'int' object is not callable。

class Hero(object):
    def __init__(self, name, hp, att_pwr, def_pwr ):
      self.name = name
      self.health = hp
      self.attack = att_pwr
      self.defense = def_pwr

    def attack(self):
      print(self.name + ' is attacking')


Hero1 = Hero('Arif', 75, 50, 40)
Hero1.attack()

标签: python

解决方案


仔细看,你有一个属性和一个名为 的方法attack。该类试图调用属性而不是方法。这是有效的课程!

class Hero:
    def __init__(self, name, hp, att_pwr, def_pwr):
        self.name = name
        self.hp = hp
        self.att_pwr = att_pwr
        self.def_pwr = def_pwr

    def attack(self):
        return self.name + " is attacking"


Hero1 = Hero("Arif", 75, 50, 40)
Hero1.attack()

这打印出来:

>> 'Arif is attacking'

推荐阅读