viele Variablen an Funktion übergeben

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
htwstudent
User
Beiträge: 5
Registriert: Dienstag 12. Juli 2011, 13:20

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…
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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
Das Leben ist wie ein Tennisball.
Antworten