Seite 1 von 1
Wieviele Parameter einer Funkt. in Modulen übergen?
Verfasst: Freitag 6. Februar 2009, 00:09
von py-mule
Hi zusammen ,
ich habe versuchet dem von mir erstellten Modul verwaltung.py, das die Funktion
def dat_kasten(n, p):
print n
print p
enthält vom Hauptprogramm aus mit
verwaltung.dat_kasten(1, 2)
zu übergeben. Dabei bekomme ich folgende Fehlermeldung:
TypeError: dat_kasten() takes exactly 1 argument (2 given)
Was mache ich falsch?
Es sollte doch kein Prolem sein mehrere Parameter zu übergeben oder?
Viele Grüße
py-mule
Verfasst: Freitag 6. Februar 2009, 00:17
von HerrHagen
Nein, sollte es nicht. Kann es vielleicht sein, dass du auf irgendeine ältere Version deiner Datei zugreifst?
Verfasst: Freitag 6. Februar 2009, 00:19
von Sr4l
nichts.
guck nochmal genau nach, poste die ganzen Dateien und setz sie in [ code=py ] tags.
Benutzt du IDLE? Start dein Programm mal nicht über IDLE.
Verfasst: Freitag 6. Februar 2009, 06:59
von Panke
Sr4l hat geschrieben:nichts.
guck nochmal genau nach, poste die ganzen Dateien und setz sie in [ code=py ] tags.
Benutzt du IDLE? Start dein Programm mal nicht über IDLE.
Nimm lieber paste.pocoo.org
Verfasst: Freitag 6. Februar 2009, 10:41
von helduel
Moin,
sieht stark danach aus, als sei die Funktion in Wirklichkeit eine Methode. Es fehlt schlicht das self in der Parameterliste.
Gruß,
Manuel
Verfasst: Freitag 6. Februar 2009, 11:35
von numerix
helduel hat geschrieben:sieht stark danach aus, als sei die Funktion in Wirklichkeit eine Methode. Es fehlt schlicht das self in der Parameterliste.
Nein.
Sr4l hat geschrieben:Benutzt du IDLE? Start dein Programm mal nicht über IDLE.
Nein.
Aller Wahrscheinlichkeit handelt es sich hier um IDLE, das sich - beim Start ohne Subprozess und dann ohne Neustart - alles vorherige merkt. Da hatte dann deine Funktion irgendwann mal nur 1 Parameter in der Liste, schätze ich. Du kannst ruhig weiter IDLE benutzen, ein komplettes Schließen und Neustarten von IDLE würde das Problem dann lösen.
Edit: Meine Analyse kann nicht stimmen! HerrHagen dürfte Recht haben.