Seite 1 von 1

viele Variablen an Funktion übergeben

Verfasst: Freitag 26. August 2011, 14:58
von htwstudent
Hallo,

Ich habe eine Funktion in eine externe Datei (dateiname.py) ausgelagert. Diese Funktion benötigt relativ viele Eingangsgrößen in Form von Variablen.
Der Aufruf lautet in etwa: dateiname.funktionsname(a,b,c,d,e,f,g,h,i,j,k,....)
Alle Variablen sind im Mainfile als „global“ definiert.

Gibt es jetzt irgendwie eine Möglichkeit dieser externen Funktion alle definierten Variablen mit einmal zu übergeben (also in etwa so:
dateiname.funktionsname(*))?

Notwendig wäre das der Übersichtlichkeit halber. Es handelt sich dabei um etwa 20-30 zu übergebenden Variablen…

Re: viele Variablen an Funktion übergeben

Verfasst: Freitag 26. August 2011, 15:07
von mutetella

Code: Alles auswählen

In [317]: def foo(*attr):
   .....:     print attr
   .....:     
   .....:     

In [318]: foo(1, 2, 3, 4, 5, 6, 7, 8, 9)
(1, 2, 3, 4, 5, 6, 7, 8, 9)

In [319]: def bar(**kwattr):
   .....:     print kwattr
   .....:     
   .....:     

In [320]: bar(a=1, b=2, c=3, d=4, e=5, f=6)
{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'f': 6}
mutetella

Re: viele Variablen an Funktion übergeben

Verfasst: Freitag 26. August 2011, 15:09
von EyDu
Hallo.

Natürlich geht das. Du musst dazu deine Variablen sinnvoll strukturieren und zusammenfassen. Dann hast du nicht das Problem, dass du dutzende globale Werte in der Gegend rumfliegen.

Sebastian