python - TypeError: attack() missing 1 required positional argument: 'self' -
hi im getting error
typeerror: attack() missing 1 required positional argument: 'self' and code
class enemmy : life = 3 self = "" def attack(self): print ("ouch!!!!") self.life -= 1 def checklife(self): if self.life <= 0 : print ("dead") else: print (self.life) enemy=enemmy enemy.attack() i checked , looked places says forgot self in def attack or need make obj put class in im useing python 3.4 py charm got code tutorial , dont know mistake
you're not instantiating enemy class. creating new reference class itself. when try , call method, calling without instance, supposed go self parameter of attack().
change
enemy = enemy to
enemy = enemy() also (as pointed out in kevin in comments) enemy class should have init method initialise fields. e.g.
class enemy: def __init__(self): self.life = 3 ...
Comments
Post a Comment