Anfänger werden beim Erlernen von Python auf viele Fallstricke stoßen. Lassen Sie uns unten ausführlich über eine davon sprechen.
Beim Schreiben objektorientierter Programme in Python können Anfänger auf den Fehler TypeError stoßen: Dieser Konstruktor akzeptiert keine Argumente.
Zum Beispiel das folgende Programm:
class Ball:
def _init_(self,color,size,direction):
self.color=color
self. Größe = Größe durch durch Verwendung durch ’ durch aus durch aus durch aus durch aus durch ’ s ‐ ‐ ‐‐ ‐ ‐ und ‐ to myBall=Ball("red","small", „unten“)
drucken „Ich habe gerade einen Ball erstellt.“
drucken „Mein Ball ist“,myBall.size
drucken „Mein Ball ist“ ,myBall.color
drucken „Die Richtung meines Balls.“ ist",myBall.direction
print "Jetzt werde ich den Ball abprallen lassen"
print
myBall.bounce()
print " Jetzt ist die Richtung des Balls",myBall.direction
meldet beim Ausführen einen Fehler:
===================== == NEUSTART: H:pythonbounce1.py =======================
Traceback (letzter Aufruf zuletzt):
Datei „H:pythonbounce1.py“, Zeile 11, in
TypeError: Dieser Konstruktor akzeptiert keine Argumente
Der Grund für den Fehler ist, dass das Schreibformat des Konstruktors in Python __init__ statt _init_ ist, das heißt, es gibt doppelte Unterstriche auf beiden Seiten von init und keinen einzigen Unterstrich.
wird wie folgt geändert:
class Ball:
def __init__(self,color,size,direction):
self.size= Größe
Self.direction = RichtungDEF BOUNCE (SELF):
Wenn Self.direction == "DOWN":
Self.direction = "Up"
MyBall =Ball("red","small","down")
print „Ich habe gerade einen Ball erstellt.“
print „Mein Ball ist“,myBall.size
print „Mein Ball ist“ , myBall.color
print „Die Richtung meines Balls ist“,myBall.direction
print „Jetzt werde ich den Ball hüpfen lassen“
print
myBall.bounce()
print „ Jetzt ist die Richtung des Balls „myBall.direction“
Das ist das korrekte Laufergebnis:
================== == ==== NEUSTART: H:pythonbounce1.py ======================
Ich habe gerade einen Ball erstellt.
Mein Ball ist klein
Mein Ball ist rot
Jetzt werde ich den Ball hüpfen lassen
Jetzt ist die Richtung des Balls oben
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der TypeError-Fehlerlösungen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!