Ich bin brandneu bei Python und versuche zu lernen, wie man mit Klassen arbeitet. Weiß jemand, wie funktioniert das nicht? Irgendwelche zusätzlichen Tipps über das Schlüsselwort "selbst" würden sehr geschätzt werden.Python-Fehler: fehlt 1 erforderliches Positionsargument: 'self'
Der Code:
class Enemy:
life = 3
def attack(self):
print('ouch!')
self.life -= 1
def checkLife(self):
if self.life <= 0:
print('I am dead')
else:
print(str(self.life) + "life left")
enemy1 = Enemy
enemy1.attack()
enemy1.checkLife()
Der Fehler:
C:\Users\Liam\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Liam/PycharmProjects/YouTube/first.py
Traceback (most recent call last):
File "C:/Users/Liam/PycharmProjects/YouTube/first.py", line 16, in <module>
fuck.attack()
TypeError: attack() missing 1 required positional argument: 'self'
Process finished with exit code 1
'enemy1 = Enemy' ist nicht, wie instanziiert und' Enemy' Objekt. Sie haben der Variablen "enemy1" die Klasse "Feind" zugewiesen. –
'Feind 'ist die Klasse. 'Enemy()' ist eine neue Instanz der Klasse. Setze 'Feind1' auf Letzteres. – Ryan
https://pythontips.com/2013/08/07/the-self-variable-in-python-explained/ – Rosh