Ich habe mich schon länger gefragt, was es mit den *args und **kw an sich hat, die man so in manchen Beispielen sieht.
Ich hab eine frage dazu, zuerst aber das Beispiel aus der Python Doku:
Code: Alles auswählen
def cheeseshop(kind, *arguments, **keywords):
print "-- Do you have any", kind, '?'
print "-- I'm sorry, we're all out of", kind
for arg in arguments: print arg
print '-'*40
for kw in keywords.keys(): print kw, ':', keywords[kw]
soweit sogut. Ich habe bisher immer funktionen gemacht, bei denen ich nur jeweils ein argument brauchte. Jetzt aber komme ich in die situation, dass ich einer funktion mehrere mögliche optionen mitgeben möchte.
es geht konkret um eine funktion, die einen benutzer in eine datenbank hinzufügt:
Code: Alles auswählen
def addUser(username, password, **kw):
...
gibt es dazu eine saubere lösung, dies zu machen? oder ist das beispiel in der python doku so "empfohlen"?