Listen an *args ü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
dimflmoser
User
Beiträge: 3
Registriert: Freitag 10. Juni 2011, 10:11

Nochmal hallo zusammen,

ich hab' da direkt noch eine Frage - vermutlich mache ich nur einen Denkfehler. Eine Methode einer Klasse hat die folgende Signatur:

Code: Alles auswählen

def record(self, *recordList, **recordDict):
Der Aufruf sollte eigentlich wie folgt aussehen:

Code: Alles auswählen

Klasse.record('first', 'second', 'third')
Da ich aber die Daten zuvor aus einer Datenbank abfrage, habe ich folgendes versucht:

Code: Alles auswählen

rec = []
rec.append('first')
rec.append('second')
rec.append('third')
# ... Natürlich in einer Schleife
Klasse.record(rec)
In der aufgerufenen Methode kommt allerdings keine Liste mit drei, sondern eine Liste mit nur einem Element (das aus den drei übergebenen zusammengesetzt ist) an.

Kann mir jemand zeigen wie es richtig geht?

Danke Helmut
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Mit der gleichen Syntax:

Code: Alles auswählen

Klasse.record(*rec)
http://docs.python.org/tutorial/control ... ment-lists
dimflmoser
User
Beiträge: 3
Registriert: Freitag 10. Juni 2011, 10:11

Hallo cofi,

prima - vielen Dank!

Helmut
Antworten