Verwechslung mit der Benennung von Klassenkonstruktoren:
Während der Klassenerstellung stoßen neue Python-Programmierer häufig auf Fehler im Zusammenhang mit falsch benannten Klassenkonstruktoren. Zwei häufige Tippfehler sind die Verwendung von „def __int__“ anstelle von „def __init__“ oder „def _init_“ anstelle von „def __init__“.
"def __int__":
Der Klassenkonstruktor sollte „__init__“ mit zwei Unterstrichen auf jeder Seite heißen. Durch die Verwendung von „def __int__“ wird der Klasse die Ganzzahlkonvertierungsfunktion zugewiesen, was zu Fehlern führt, wenn versucht wird, die Klasse mit Argumenten zu instanziieren.
class Example: def __int__(self, parameter): # Incorrect self.attribute = parameter
"def _init_":
Die Verwendung von „def _init_“ führt ebenfalls zu Fehlern, da es nicht mit dem erwarteten Konstruktor übereinstimmt name.
class Example: def _init_(self, parameter): # Incorrect self.attribute = parameter
"TypeError: Beispiel() akzeptiert keine Argumente":
Beim Versuch, eine Instanz der Klasse zu erstellen, wird der Fehler „TypeError: Beispiel () akzeptiert keine Argumente“ tritt auf, weil der falsche Konstruktorname die Ganzzahlkonvertierungsfunktion zugewiesen hat.
“AttributeError: „Beispiel“-Objekt hat kein Attribut „Attribut“:
Dieser Fehler weist darauf hin, dass die Klasseninstanz nicht das erwartete Attribut hat. Der Grund dafür ist, dass der falsche Konstruktorname das Attribut innerhalb der Klasse nicht gesetzt hat.
Vorbeugung:
Um diese Fehler zu vermeiden, stellen Sie immer sicher, dass der Klassenkonstruktor wird korrekt als „__init__“ benannt. Um diese Tippfehler zu erkennen, sind Korrekturlesen und Schulung unerlässlich. Darüber hinaus kann die Konvention, „__init__“ als erste Methode in der Klasse zu platzieren, dazu beitragen, Fehler zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein Python-Klassenkonstruktor mit „TypeError: Beispiel() akzeptiert keine Argumente' oder „AttributeError' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!