Seite 1 von 1
wie viele Parameter ist die obere Grenze für Python-Methode?
Verfasst: Donnerstag 8. Dezember 2005, 20:02
von Gast
Hallo zusammen!
ich habe gerade Pychecker ein Modul prüfen lassen, dann gibt es eine Überraschung:
Pychecker gibt die Meldung: Parameter ist zu viel.
Ist dies wirklich wahr, oder wollte Pychecker nur dies tun, um die anderen zu warnen?
Vielen Dank für Tips!
MfG
Boostpy
Verfasst: Donnerstag 8. Dezember 2005, 20:22
von mawe
Hi!
Also ehrlich gesagt weiss ich nichts von einer Parameterobergrenze. Könnte es nicht sein, dass Du einfach die Funktion mit mehr Parametern aufgerufen hast als vorgesehen?
Gruß, mawe
Verfasst: Donnerstag 8. Dezember 2005, 20:45
von Gast
Hi mawe,
das ist die Fehlermeldung:
xxx.py:1205: Function (winMenuSelectItem) has too many arguments (11)
ich habe probiert, dass es mit 10 ohne Fehlermeldung gibt!
Selbtsamweise mit den Funktionen gibt es keine Fehlermeldung, nur innerhalb einer Klasse!
Kann jemand bestätigen oder mit Erfahrungen, warum es so ist?!
MfG
Boostpy
Verfasst: Donnerstag 8. Dezember 2005, 21:01
von mawe
Code: Alles auswählen
class Test:
def __init__(self):
pass
def lala(self,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z):
print a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
t = Test()
t.lala(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26)
Also das funktioniert

Um welches Modul handelt es sich denn? Kannst Du etwas Code zeigen?
Pychecker -Warning?!
Verfasst: Donnerstag 8. Dezember 2005, 21:03
von Gast
hi mawe!
Danke!
Ich habe genau probiert, meine Beobachtung mit dem Unterschied von Methoden und Funktionen stimmt nicht. Aber die Fehlermeldung bleibt.
Gut ist Python ohne Problem, dass das Script startet und läuft
ich werde Pychecker genau anschauen, warum es so eine blöde Warning herausgibt?
MfG
Boostpy
Verfasst: Donnerstag 8. Dezember 2005, 21:09
von jens
Vielleicht ist es eigentlich nur ein Hinweis und keine Fehlermeldung???
Verfasst: Donnerstag 8. Dezember 2005, 22:44
von BlackJack
Ich nehme auch an das es eine Warnung ist. 10 oder 11 Parameter sind auch ein bischen viel. Wie lang muss denn eine Funktion sein um die wirklich alle irgendwie zu verarbeiten!? Das ist oft ein Zeichen dafür, das man zuviel in einer Funktion macht oder die Parameter bzw. Teile davon besser als Objekt, Liste oder Dictionary übergeben sollte.
PyLint warnt in solchen Fällen auch.