Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der TypeError-Fehlerlösungen in Python

Detaillierte Erläuterung der TypeError-Fehlerlösungen in Python

高洛峰
高洛峰Original
2017-03-27 16:52:1614390Durchsuche

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

myBall=Ball("red","small","down")

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.color=color

self.size= Größe

Self.direction = Richtung

DEF 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

Die Richtung meines Balls ist unten

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn