Zum ersten sei erwähnt, dass ich ein absoluter Python-Neuling bin. Ich habe jedoch ein wenig Erfahrung mit kompilierten sprachen wie Delphi oder C#. Python kannte ich bislang nur vom Hörensagen, bin dann allerdings, auf der Suche nach einer guten Numerik-Bibliothek, auf das NumPy und SciPy Projekt gestoßen und wollte mir die Sprache daher etwas näher anschauen. Ich Stütze mich dabei auf die mitgelieferte Dokumentation sowie das Open-Book zu python und alles andere was man im Netz so findet.
Bei meinen ersten Gehversuchen mit Python bin ich jedoch auf ein für mich unverständliches Problem, beim Erstellen von konstruktoren mit Parameterübergabe, gestoßen.
Ich wollte mir zum Üben eine einfache Klasse namens node erstellen, welche im Konstruktor die Parameter X-Position und Y_Position übergibt. Hier mein Versuch
Code: Alles auswählen
class node:
def _init_(self, x_pos, y_pos):
self.x = x_pos
self.y = y_pos
Beim Instanzieren eines node-Objektes hätte ich jetzt eigentlich erwartet, dass der Konstrukter schon die Parameter x_pos und y_pos erwartet.
Code: Alles auswählen
Knoten = node(0,5)
Daraufhin hab ich die Dokumentation und das Netz nach Beispielen zur Definition von Konstruktoren durchsucht, konnte jedoch bei keinem einen Unterschied zu meiner Variante finden. Seh ich den Wald vor Bäumen nicht? Was ist schief gegangen? Ich würde mich wahnsinnig freuen wenn mir dass jemand erklären könnteTraceback (most recent call last):
File "C:\.....\Python\Klasses_Test\src\subs\Node.py", line 8, in <module>
Knoten = node(0,5)
TypeError: this constructor takes no arguments
Falls das wichtig ist:
Ich benutze Python Version 2.6.6 auf Windows XP zusammen mit EasyEclipse for Python Version: 1.3.1
Gruß Arthur Dent