Entwicklung mit Python für Fortgeschrittene
Jasmin Ludolf
Curriculum Manager
def average(values): """Find the mean in a sequence of values and round to two decimal places.""" average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average# Using six arguments print(average(15, 29, 4, 13, 11, 8))
TypeError: average() takes 1 positional argument but 6 were given
Docstrings helfen dabei, die Verwendung benutzerdefinierter Funktionen zu erklären.
Beliebige Argumente machen es möglich, dass Funktionen beliebig viele Argumente annehmen können.
# Allow any number of positional, non-keyword arguments
def average(*args):
# Function code remains the same
Gewöhnliche Namensgebung: *args
Bietet viele Einsatzmöglichkeiten und liefert die gewünschten Ergebnisse!
# Calling average with six positional arguments
print(average(15, 29, 4, 13, 11, 8))
13.33
*: Wandelt Argumente in ein einzelnes iterierbares Objekt (Tupel) um.# Calculating across multiple lists
print(average(*[15, 29], *[4, 13], *[11, 8]))
13.33
# Use arbitrary keyword arguments def average(**kwargs):average_value = sum(kwargs.values()) / len(kwargs.values()) rounded_average = round(average_value, 2) return rounded_average
Beliebige Anzahl von Schlüsselwortargumenten: **kwargs
keyword=value
# Calling average with six kwargs
print(average(a=15, b=29, c=4, d=13, e=11, f=8))
13.33
# Calling average with one kwarg
print(average(**{"a":15, "b":29, "c":4, "d":13, "e":11, "f":8}))
13.33
# Calling average with three kwargs
print(average(**{"a":15, "b":29}, **{"c":4, "d":13}, **{"e":11, "f":8}))
13.33
Entwicklung mit Python für Fortgeschrittene