Wenn wir in Python Funktionen mit Standardwerten für bestimmte Parameter definieren, werden die Argumente als Option für den Benutzer festgelegt. Benutzer können entweder ihre Werte übergeben oder vorgeben, dass die Funktion ihre angegebenen Standardwerte verwendet.
Auf diese Weise kann der Benutzer die Funktion aufrufen, indem er entweder diese optionalen Parameter oder nur die erforderlichen Parameter übergibt.
Es gibt zwei Möglichkeiten, optionale Parameter in Python zu übergeben
Verilog immer
- Ohne Schlüsselwortargumente zu verwenden.
- Durch die Verwendung von Schlüsselwortargumenten.
Übergabe ohne Verwendung von Schlüsselwortargumenten
Bei der Übergabe ohne Verwendung von Schlüsselwortargumenten ist Folgendes zu beachten:
- Die Reihenfolge der Parameter sollte beibehalten werden, d. h. die Reihenfolge, in der Parameter in der Funktion definiert werden, sollte beim Aufruf der Funktion beibehalten werden.
- Die Werte für die nicht optionalen Parameter sollten übergeben werden, andernfalls wird ein Fehler ausgegeben.
- Der Wert der Standardargumente kann entweder übergeben oder ignoriert werden.
Nachfolgend finden Sie einige Codes, die dieses Konzept erläutern.
Beispiel 1:
Python3
# Here b is predefined and hence is optional.> def> func(a, b>=>1098>):> >return> a>+>b> print>(func(>2>,>2>))> # this 1 is represented as 'a' in the function and> # function uses the default value of b> print>(func(>1>))> |
>
>
Ausgabe:
4 1099>
Beispiel 2: Wir können auch Strings übergeben.
Python3
# Here string2 is the default string used> def> fun2(string1, string2>=>'Geeks'>):> >print>(string1>+> string2)> # calling the function using default value> fun2(>'GeeksFor'>)> # calling without default value.> fun2(>'GeeksFor'>,>'Geeks'>)> |
>
>
Ausgabe:
GeeksForGeeks GeeksForGeeks>
Übergabe mit Schlüsselwortargumenten
Wenn Funktionen definiert werden, werden die Parameter in der Form Datentyp Schlüsselwortname geschrieben. Daher bietet Python einen Mechanismus zum Aufrufen der Funktion unter Verwendung des Schlüsselwortnamens zur Übergabe der Werte. Dies hilft dem Programmierer, indem es ihn entlastet, die Reihenfolge oder die Reihenfolge, in der die Parameter übergeben werden sollen, nicht zu lernen.
Einige wichtige Punkte, die wir beachten müssen, sind folgende:
- In diesem Fall müssen wir die Reihenfolge der Übergabe der Werte nicht einhalten.
- Es sollte keinen Unterschied zwischen den übergebenen und deklarierten Schlüsselwortnamen geben.
Nachfolgend finden Sie den Code für die Implementierung.
Python3
# Here string2 is the default string used> def> fun2(string1, string2>=>'Geeks'>):> >print>(string1>+> string2)> # Thiscan be a way where no order is needed.> fun2(string2>=>'GeeksFor'>, string1>=>'Geeks'>)> # since we are not mentioning the non-default argument> # so it will give error.> fun2(string2>=>'GeeksFor'>)> |
>
>
Zeichenfolge in Datum umwandeln
Ausgabe:

Wie wir sehen können, ist im obigen Beispiel nicht erforderlich, dass eine Reihenfolge eingehalten wird. Außerdem können wir sehen, dass es zu einem Fehler kommt, wenn wir versuchen, nur die optionalen Parameter zu übergeben. Dies geschieht, weil optionale Parameter weggelassen werden können, da sie einen Standardwert haben. Wir können jedoch erforderliche Parameter (string1 im obigen Fall) nicht weglassen. Daher wird ein Fehler mit der Flagge angezeigt: 1 erforderliches Argument fehlt.
Dieses Beispiel soll einen besseren Einblick in das obige Thema geben:
Python3
def> func(a, b, c>=>'geeks'>):> >print>(a,>'type is'>,>type>(a))> >print>(b,>'type is'>,>type>(b))> >print>(c,>'type is'>,>type>(c))> # The optional parameters will not decide> # the type of parameter passed.> # also the order is maintained> print>(>'first call'>)> func(>2>,>'z'>,>2.0>)> # below call uses the default> # mentioned value of c> print>(>'second call'>)> func(>2>,>1>)> # The below call (in comments) will give an error> # since other required parameter is not passed.> # func('a')> print>(>'third call'>)> func(c>=>2>, b>=>3>, a>=>'geeks'>)> |
>
>
Ausgabe:
first call 2 type is z type is 2.0 type is second call 2 type is 1 type is geeks type is third call geeks type is 3 type is 2 type is>
Grundsätzlich prüfen Python-Funktionsaufrufe also nur, ob die erforderliche Anzahl an Funktionsparametern übergeben wird oder nicht.
Unten sehen Sie den Fall, in dem ein Benutzer versucht, Argumente auf beide oben beschriebenen Arten zu übergeben, zusammen mit der gegebenen Vorsichtsmaßnahme:
Python3
Säureeigenschaften in DBMS
def> comp(a, b>=>2>):> >if>(a print('first parameter is smaller') if(a>b): print('zweiter Parameter ist kleiner') if(a == b): print('beide haben den gleichen Wert.') print('erster Aufruf') comp(1) print( 'zweiter Aufruf') comp(2, 1) print('dritter Aufruf') comp(b=1, a=-1) print('vierter Aufruf') comp(-1, b=0 )> |
>
>
Ausgabe:
first call first parameter is smaller second call second parameter is smaller third call first parameter is smaller fourth call first parameter is smaller>
Wir sollten uns also daran erinnern, dass das Schlüsselwortargument verwendet werden sollte, nachdem alle Positionsargumente übergeben wurden. Daher ist dies eine wichtige Sache, die wir berücksichtigen müssen, wenn wir Parameter auf beide Arten an dieselbe Funktion übergeben.