"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

  • Wie funktionieren überschriebene Methodenaufrufe von Basisklassen-Methoden?
  • Verständnis der wichtigsten Methode der Python
  • Warum ist meine Python-Schildkröte Form Größe verringern, wenn drücken 'Shift'
  • Einzelnes Unbekanntes über eine Sequenz in Python ausführen
  • Getting "IOError: [Errno 13] Permission denied: .." beim Import von pandas.DataFrame
  • Xor Verschlüsselung / Entschlüsselung einer Datei mit Python 3
  • Die BadStatusLine-Ausnahme wurde bei der Rückkehr vom Server in Python 3 erhöht
  • Maximaler Wert aus jeder Spalte der CSV-Datei
  • Python 3: EOF beim Lesen einer Zeile (Sublime Text 2 ist wütend)
  • Wie lese ich eine Zeile Zeile in Zeile in Python?
  • Was bedeutet "SyntaxError: Fehlende Klammern im Aufruf zum" Drucken "bedeutet in Python?
  • Python ist die beste Programmiersprache der Welt.