Kombinierung von Parametern in Python
In die gleiche Funktion können gleichzeitig
benannte und positionelle Parameter übergeben werden.
Dies geschieht mit dem Symbol *,
das kennzeichnet, dass die Parameter rechts
davon als benannt betrachtet werden sollen,
wenn ihre Standardwerte nicht verwendet werden
müssen.
Lassen Sie uns eine Funktion erstellen, die
alle Parameter in der Konsole ausgibt. Die Variable
data bezeichnet einen gewöhnlichen
positionellen Parameter. Weiter nach dem Symbol
* werden zwei Variablen start
und end mit Standardwerten festgelegt.
Beim Aufruf der Funktion machen wir diese
Variablen jedoch benannt:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Ergebnis der Codeausführung:
1 2 3
Wenn man den Standardwert der Variable
start entfernt und sie gleichzeitig
nicht als benannten Parameter angibt, wird ein
Fehler ausgegeben. Dies geschieht, weil das Symbol
* start bereits als benannte
Variable definiert hat:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # gibt einen Fehler aus
Welches Ergebnis liefert die Ausführung des folgenden Codes:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Welches Ergebnis liefert die Ausführung des folgenden Codes:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Welches Ergebnis liefert die Ausführung des folgenden Codes:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))