Alle erforderlichen Parameter müssen vor allen Standardargumenten platziert werden. Einfach, weil sie obligatorisch sind, während Standardargumente dies nicht sind. Syntaktisch wäre es unmöglich für den Interpreter zu entscheiden, welche Werte mit welchen Argumenten übereinstimmen, wenn gemischte Modi zulässig sind. Eine SyntaxError
wird ausgelöst, wenn die Argumente nicht in der richtigen Reihenfolge angegeben werden:
Werfen wir einen Blick auf Keyword-Argumente, mit Ihrer Funktion.
def fun1(a="who is you", b="True", x, y):
... print a,b,x,y
seine Angenommen erlaubt Funktion zu erklären, wie oben, dann mit den obigen Erklärungen können wir die folgende (regular) Stellungs- oder Schlüsselwort-Argument telefonieren:
func1("ok a", "ok b", 1) # Is 1 assigned to x or ?
func1(1) # Is 1 assigned to a or ?
func1(1, 2) # ?
Wie Sie die Zuordnung vorschlagen wird von Variablen im Funktionsaufruf, wie Standardargumente zusammen mit Schlüsselwortargumenten verwendet werden.
>>> def fun1(x, y, a="who is you", b="True"):
... print a,b,x,y
...
Referenz O'Reilly - Kern-Python
Wo, wie diese Funktion Verwendung der Standardargumente syntaktisch korrekt für obige Funktion telefonieren. Der Aufruf von Schlüsselwortargumenten erweist sich als nützlich, um Positionsargumente außerhalb der Reihenfolge bereitstellen zu können. Sie können jedoch auch in Verbindung mit Standardargumenten dazu verwendet werden, fehlende Argumente zu überspringen.
in Python, das ist, wie die Struktur ist, wenn Sie eine Funktion 'def myfunction (position_arguments, * Argumente, ** Schlüsselwörter) definieren:' ' ....' – abhishekgarg