Seite 1 von 1

Übergabe gleichzeitig mehrerer Datensätze an eine Funktion

Verfasst: Sonntag 25. April 2021, 10:24
von Hartmannsgruber
Servus Forum,

mir stellt sich seit heute Morgen nachfolgende Frage, für die sich mir keine Lösung erschließt.

1. Ein Funktion benötigt bestimmte Argumente für einen Aufruf.
2. Die Funktion soll aber mit 1-x Datensätze auf einmal aufgerufen werden können,
da in der Funktion über eine for - Schleife iteriert wird.

Soetwas in der Art:

Code: Alles auswählen

def foo(vname="Max, nnachname="Mustermann):
	for datensatz in uebergebenen_datensaetze:
		print(vname, nnachname)
		
foo(*(("Hein", "Blöd"), ("Benjamin", "Blümchen")))


Die Funktionion nacheinander mit den Datensätzen aufzurufen wäre zwar logisch und einfach.

Code: Alles auswählen

ds = (("Hein", "Blöd"), ("Benjamin", "Blümchen"))

for satz in ds:
	foo(satz[o], satz[1])
Wie löse ich es aber, wenn die Datensätze beispielsweise darin miteinander verglichen werden,
oder eine andere Operation darauf ausgeführt wird die mehr als einen Datensatz auf einmal benötigt?
Ist mein Gedankengang nachvollziehbar?

LG
Pferdesalbe

Re: Übergabe gleichzeitig mehrerer Datensätze an eine Funktion

Verfasst: Sonntag 25. April 2021, 10:28
von Sirius3
Die Lösung hat du dir doch schon selbst gegeben. Du übergibst die Datensätze in einer passenden Datenstruktur, z.B. einer Liste.
Was auch immer ein vname und ein nnachname ist, benutze keine kryptischen Abkürzungen.

Re: Übergabe gleichzeitig mehrerer Datensätze an eine Funktion

Verfasst: Sonntag 25. April 2021, 10:39
von Hartmannsgruber
Also wird von der Funktion nur ein Argument erwartet, dass den/die Datensätz/e enthält und die Datensätze müssen die benötigten Argumente aufweisen, bzw. die Reihenfolge einhalten?

Re: Übergabe gleichzeitig mehrerer Datensätze an eine Funktion

Verfasst: Sonntag 25. April 2021, 11:34
von Rotmilan
Genau, den ganzen Datensatz per Liste übergeben, dann kannst du über in der Funktion über die Liste iterieren. Du musst dir dann nur noch überlegen, was der Rückgabewert sein soll - könnte dann ja auch eine Bibliothek sein...