"Dieser Konstruktor nimmt keine Argumente" Fehler in __init__

Ich bekomme einen Fehler beim Ausführen des folgenden Codes:

class Person: def _init_(self, name): self.name = name def hello(self): print 'Initialising the object with its name ', self.name p = Person('Constructor') p.hello() 

Die Ausgabe ist:

 Traceback (most recent call last): File "./class_init.py", line 11, in <module> p = Person('Harry') TypeError: this constructor takes no arguments 

Was ist das Problem?

3 Solutions collect form web for “"Dieser Konstruktor nimmt keine Argumente" Fehler in __init__”

Die Methode sollte __init__ , um ein Konstruktor zu sein, nicht _init_ . (Beachten Sie die doppelten Unterstriche.)

Wenn Sie einzelne Unterstriche verwenden, erstellen Sie lediglich eine Methode namens _init_ und erhalten einen Default-Konstruktor, der keine Argumente enthält.

Verwenden Sie doppelte Unterstriche für __init__ .

 class Person: def __init__(self, name): 

(Alle speziellen Methoden in Python beginnen und enden mit doppelten, nicht einzigen, Unterstrichen.)

 class Robots: def __init__(self,subject): #add double underscores,on both sides. 

Hinweis in dieser Dokumentation mit einem klaren Einblick in Python-Methoden

  • Initializer für Klasse ausführen
  • Python 3: tut Pool die ursprüngliche Reihenfolge der Daten an die Karte übergeben?
  • Relativer Import in Python 3 funktioniert nicht
  • Subprocess.Popen: Klonen von Stdout und Stderr sowohl an Terminal als auch Variablen
  • Token-Capture-Sequenzen Python funktioniert nicht richtig
  • Lesen in Dateiblock nach Block mit dem angegebenen Trennzeichen in Python
  • Ungenaue Zeit.Sleep () mit Python 3.x und Windows 7
  • Wie bekommt man veränderbare String?
  • Warum python drucken ist verzögert?
  • Wie funktionieren verkettete Aufgaben?
  • ImportError: DLL-Last fehlgeschlagen: beim Importieren von Statsmodellen [Duplizieren]
  • Python ist die beste Programmiersprache der Welt.