[PYTHON] Optionale Argumente und * args, ** kwargs
Es ist in Ordnung, * args, ** kwargs nach dem optionalen Argument zu setzen
Es ist möglich, ein beliebiges Argument vor * args zu setzen.
Der folgende Code wird übergeben.
optionalarg.py
def foo(x=10, *args, **kwargs):
return x, args, kwargs
print foo(12, 13, 14)
#=> (12, (13, 14), {})
Es ist jedoch nicht möglich, ein erforderliches Argument nach einem optionalen Argument zu definieren.
Der folgende Code führt zu einem Syntaxfehler.
syntaxerror.py
def foo(x=10, y, *args, **kwargs):
return x, y, args, kwargs
# SyntaxError: non-default argument follows default argument
Über die Begriffe "willkürliches Argument" und "benanntes Argument"
Es gibt die Begriffe optionales Argument und benanntes Argument, aber wie sollen wir sie richtig verwenden?
Wenn Sie "Dive In Python" lesen, können Sie Folgendes erraten.
- "Optionales Argument" beim Definieren einer Funktion. Ein Paar "wesentlicher Argumente".
- "Benannte Argumente", um einen Namen für den Funktionsaufruf anzugeben.
(Link: Übersetzte Version von cocoatomo, da das Lesen der englischen Version schwierig ist)
http://cocoatomo.iza-yoi.net/DIP/power_of_introspection/optional_arguments.html
Recommended Posts
❻: Bezieht sich auf den Fall, dass die gesuchte Nummer nicht gefunden wird. Es ist üblich, mit "0" oder "1" ab und zu zu urteilen, aber da "0" im Element des Entladungsarrays verwendet wird, wird es auf leicht verständliche Weise mit "-1" ausgedrückt. ❼: Schließlich werden die gesuchten Ergebnisse ausgegeben. 4. Ist es in Ordnung, in dem Teil, den ich hier gelernt habe, nicht ".round" hinzuzufügen (wird verwendet, wenn ein Fehler auftritt)? Es scheint, dass es automatisch abgerundet wird, wenn ich es nachschlage. Beim Runden auf die angegebene Stelle ist es zweckmäßig, mit ".round (2) <zu codieren. <Da bis zur 2. Stelle des Bruchs angezeigt wird, wird es auf die 3. Stelle des Bruchs gerundet>" usw.! Ruby, Rails, If, while, Binary Search Verschiedene Argumente von Funktionen in Python (Positionsargumente, optionale Argumente, Argumente variabler Länge, Schlüsselwortargumente) def func (arg, * args, ** kwargs)