Frage zu Übergabeparametern von wx-Funktionen

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
makro
User
Beiträge: 25
Registriert: Sonntag 12. Juli 2009, 08:53

Hallo,

mich würde mal interessieren, wie es intern in wxPython gelöst ist, wenn die Parameter von Funktionen über *args bzw. **kwargs übergeben werden.

also z.B. von StatusBar (aus _windows.py):

Code: Alles auswählen

def SetStatusText(*args, **kwargs):
        """SetStatusText(self, String text, int number=0)"""
        return _windows_.StatusBar_SetStatusText(*args, **kwargs)
Woher "weiß" nun die interne Funktion "_windows_.StatusBar_SetStatusText" ob der Parameter "number" in args oder in kwargs übergeben wurde? Oder ist es so, dass erst kwargs auf den key "number" überprüft wird bzw. ob args die Länge 3 hat und dann dieser Wert zugewiesen wird. Oder gibt es da einen Trick, um das eleganter zu lösen?

mfg
BlackJack

@makro: Die Implementierung der Funktion wird wahrscheinlich genau das machen: testen ob es ein ``args[2]`` gibt oder einen Schlüssel `number` in `kwargs`.
Antworten