Was ist in Python 2.x (ich verwende 2.7) der richtige Weg, um Standardargumente mit *argsund zu verwenden **kwargs?
Ich habe eine Frage zu SO im Zusammenhang mit diesem Thema gefunden, aber das ist für Python 3 :
Aufrufen einer Python-Funktion mit * args, ** kwargs und optionalen / Standardargumenten
Dort heißt es, diese Methode funktioniert:
def func(arg1, arg2, *args, opt_arg='def_val', **kwargs):
#...
In 2.7 ergibt sich a SyntaxError. Gibt es eine empfohlene Möglichkeit, eine solche Funktion zu definieren?
Ich habe es so gemacht, aber ich würde vermuten, dass es eine schönere Lösung gibt.
def func(arg1, arg2, *args, **kwargs):
opt_arg ='def_val'
if kwargs.__contains__('opt_arg'):
opt_arg = kwargs['opt_arg']
#...