Python

Python Menu

Jede Funktion in Python erhält eine vordefinierte Anzahl von Argumenten, wenn sie normal deklariert wird, wie hier:

def meinefunktion(erste, zweite, dritte):
    # mache etwas mit den 3 Variablen
    ...

Es ist möglich, Funktionen zu deklarieren, die eine variable Anzahl von Argumenten erhalten, wobei die folgende Syntax verwendet wird:

def foo(erste, zweite, dritte, *derrest):
    print("Erste: %s" % erste)
    print("Zweitens: %s" % zweitens)
    print("Dritter: %s" % dritter)
    print("Und der ganze Rest... %s" % list(derrest))

Die Variable "derrest" ist eine Variablenliste, die alle Argumente aufnimmt, die der Funktion "foo" nach den ersten 3 Argumenten übergeben wurden. Der Aufruf von foo(1,2,3,4,5) wird also ausgegeben:

def foo(erste, zweite, dritte, *derrest): print("Erste: %s" % erste) print("Zweitens: %s" % zweitens) print("Dritter: %s" % dritter) print("Und der ganze Rest... %s" % list(derrest))
foo(1,2,3,4,5)

Es ist auch möglich, Funktionsargumente per Schlüsselwort zu senden, so dass die Reihenfolge der Argumente keine Rolle spielt, indem du die folgende Syntax verwendest. Der folgende Code ergibt die folgende Ausgabe: Die Summe ist: 6 Ergebnis: 1

def bar(erste, zweite, dritte, **optionen): if optionen.get("aktion") == "summe": print("Die Summe ist: %d" %(erste + zweite + dritte))
if optionen.get("nummer") == "erste": return erste
result = bar(1, 2, 3, aktion = "summe", nummer = "erste") print("Result: %d" %(result))

Die Funktion "bar" empfängt 3 Argumente. Wenn ein zusätzliches Argument "action" empfangen wird, und es die Anweisung gibt, die Zahlen zu summieren, dann wird die Summe ausgegeben. Alternativ weiß die Funktion auch, dass sie das erste Argument zurückgeben muss, wenn der Wert des Parameters "Zahl", der an die Funktion übergeben wird, gleich "erste" ist.

Übung

Ergänze die beiden Funktionen foo und bar so, dass sie eine variable Anzahl von Argumenten erhalten können (3 oder mehr). Die Funktion foo muss die Anzahl der zusätzlich empfangenen Argumente zurückgeben. Die Funktion bar muss True zurückgeben, wenn das Argument mit dem Schlüsselwort magicnumber den Wert 7 hat, andernfalls False.

# bearbeite den Prototyp und die Implementierung der Funktionen def foo(a, b, c): pass
def bar(a, b, c): pass
# Test-Code if foo(1,2,3,4) == 1: print("Gut.") if foo(1,2,3,4,5) == 2: print("Besser.") if bar(1, 2, 3, magicnumber = 6) == False: print("Großartig.") if bar(1, 2, 3, magicnumber = 7) == True: print("Fantastisch!")
# bearbeite den Prototyp und die Implementierung der Funktionen def foo(a, b, c, *args): return len(args)
def bar(a, b, c, **kwargs): return kwargs["magicnumber"] == 7
# Test-Code if foo(1,2,3,4) == 1: print("Gut.") if foo(1,2,3,4,5) == 2: print("Besser.") if bar(1, 2, 3, magicnumber = 6) == False: print("Großartig.") if bar(1, 2, 3, magicnumber = 7) == True: print("Fantastisch!")
test_output_contains("Gut.") test_output_contains("Besser.") test_output_contains("Großartig.") test_output_contains("Fantastisch!") success_msg("Hervorragend!")

Einführung

Python Basics

Python Advance

Data Science Python Tutorials

Python Eingebaute Funktionen