Wieviele Parameter einer Funkt. in Modulen übergen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
py-mule
User
Beiträge: 58
Registriert: Samstag 3. Januar 2009, 10:42

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
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Nein, sollte es nicht. Kann es vielleicht sein, dass du auf irgendeine ältere Version deiner Datei zugreifst?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

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.
Panke
User
Beiträge: 185
Registriert: Sonntag 18. März 2007, 19:26

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
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

Moin,

sieht stark danach aus, als sei die Funktion in Wirklichkeit eine Methode. Es fehlt schlicht das self in der Parameterliste.

Gruß,
Manuel
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
Antworten