Positions- oder Schlüsselwortargumente
In Python können an eine Funktion übergebene Argumente positionell oder schlüsselwortbasiert sein. Positionsargumente werden den Parametern der Funktion in der Reihenfolge zugewiesen, in der sie erscheinen, während Schlüsselwortargumente explizit benannt und zugewiesen werden.
Positions- und Schlüsselwortargumente verstehen
Der in zitierte Text Ihre Frage definiert Positionsargumente korrekt als solche ohne Gleichheitszeichen (z. B. Breite in „Rechteckfläche“). Auf Schlüsselwortargumente hingegen folgen ein Gleichheitszeichen und ein Ausdruck, der ihren Standardwert angibt (z. B. Höhe=2).
Beispiel
Bedenken die folgende Funktion:
def rectangleArea(width, height):
return width * height
In dieser Funktion sind Breite und Höhe Positionsargumente. Das bereitgestellte Beispiel:
rectangleArea(width=1, height=2)
verwendet jedoch Schlüsselwortargumente, um die Werte für Breite und Höhe festzulegen.
Verwechslung zwischen Argumenttypen
Der Text Ihrer Frage scheint Positions- und Schlüsselwortargumente mit Funktionsparametern zu verwechseln Standardwerte. Standardwerte werden in Funktionsdefinitionen angegeben, während Positions- und Schlüsselwortargumente in Funktionsaufrufen verwendet werden.
Klarstellung
Im obigen Beispiel erfordert die Funktion „squareArea“ zwei Positionsargumente , Breite und Höhe. Der Aufruf der Funktion übergibt diese Argumente jedoch mithilfe der Schlüsselwortsyntax. Dies ist in Python vollkommen gültig, da die Funktionsdefinition sowohl Positions- als auch Schlüsselwortargumente zulässt.
Zusammenfassung
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3