dass er angegriffen wird. In diesen Fällen können Sie die Schleife mit dem Schlüsselwort break anhalten und den Code ausführen, der unmittelbar folgt. In Listing 1–12 führt der Code print("hello world") aus, nachdem die Schleife vorzeitig endet.
Man kann den Python-Interpreter auch zwingen, bestimmte Bereiche in der Schleife zu überspringen, ohne sie vorzeitig zu beenden. So könnten Sie z. B. bösartige Web-Anforderungen überspringen, statt den Server komplett anzuhalten. Dies erreichen Sie mit der Anweisung continue, die den aktuellen Schleifendurchlauf beendet und den Ausführungsfluss wieder zurück zur Schleifenbedingung führt (siehe Listing 1–13).
while True:
continue
print("43") # dead Code
Listing 1–13 Die Verwendung des Schlüsselworts continue
Dieser Code wird für immer ausgeführt, ohne auch nur einmal die print-Anweisung auszuführen. Das liegt daran, dass die continue-Anweisung den aktuellen Schleifendurchlauf beendet und wieder zurück zum Anfang geht, sodass die Ausführung niemals zur print-Anweisung gelangt. Code, der niemals ausgeführt wird, wird als toter Code bezeichnet. Aus diesem Grund wird die continue-Anweisung (genau wie die break-Anweisung) üblicherweise unter einer bestimmten Bedingung eingesetzt, indem man eine bedingte if-else-Umgebung verwendet.
Funktionen
Funktionen helfen Ihnen, Codeausschnitte nach Belieben wiederzuverwenden: Sie schreiben sie einmal und nutzen sie mehrfach. Sie definieren eine Funktion mit dem Schlüsselwort def, einem Funktionsnamen und einer Menge an Argumenten, mit denen Sie die Ausführung des Funktionskörpers anpassen. Der Aufruf der Funktion mit zwei Argumentmengen kann das Ergebnis der Funktion ganz dramatisch verändern. Sie können z. B. die Funktion square(x) definieren, die die Quadratzahl des eingegebenen Arguments x zurückgibt. Der Aufruf von square(10) ergibt 10 × 10 = 100, während der Aufruf von square(100) zu 100 × 100 = 10.000 führt.
Das Schlüsselwort return beendet die Funktion und übergibt den Ablauf der Ausführung zurück an den Aufrufer der Funktion. Sie können nach dem Schlüsselwort return einen optionalen Wert angeben, um das Ergebnis der Funktion zu spezifizieren (siehe Listing 1–14).
def appreciate(x, percentage):
return x + x * percentage / 100
print(appreciate(10000, 5))
# 10500.0
Listing 1–14 Das Schlüsselwort return
Sie erzeugen eine Funktion appreciate(), die berechnet, um wie viel eine Investition bei einer bestimmten prozentualen Rendite im Wert steigt. Im Code berechnen Sie, auf welchen Wert eine Investition von $10.000 in einem Jahr steigt, wenn Sie einen Zinssatz von 5 Prozent annehmen. Das Ergebnis lautet $10.500. Sie verwenden das Schlüsselwort return, um anzugeben, dass das Ergebnis der Funktion die Summe aus der ursprünglichen Investition und dem Nominalzins dieser Investition sein soll. Der Rückgabewert der Funktion appreciate() ist vom Typ Float.
Lambdas
Mit dem Schlüsselwort lambda definieren Sie Lambda-Funktionen in Python. Lambda-Funktionen sind anonyme Funktionen, die nicht im Namensraum definiert sind. Grob gesagt, handelt es sich um Funktionen ohne Namen, die für einen einmaligen Gebrauch gedacht sind. Die Syntax sieht folgendermaßen aus:
lambda <Argumente> : <Rückgabeausdruck>
Eine Lambda-Funktion kann ein oder mehrere Argumente haben, die durch Kommas voneinander getrennt werden. Nach dem Doppelpunkt (:) definieren Sie den Rückgabeausdruck, der das definierte Argument benutzen kann (aber nicht muss). Der Rückgabeausdruck kann ein beliebiger Ausdruck oder sogar eine andere Funktion sein.
Lambda-Funktionen spielen in Python eine wichtige Rolle. Man findet sie häufig in praktischen Codeprojekten: z. B. um Code kürzer und prägnanter zu gestalten oder um Argumente verschiedener Python-Funktionen herzustellen (wie etwa map() oder reduce()). Schauen Sie sich den Code in Listing 1–15 an.
print((lambda x: x + 3)(3))
# 6
Listing 1–15 Das Schlüsselwort lambda benutzen
Zuerst erzeugen Sie eine Lambda-Funktion, die einen Wert x entgegennimmt und das Ergebnis des Ausdrucks x + 3 zurückliefert. Das Ergebnis ist ein Funktionsobjekt, das wie jede andere Funktion aufgerufen werden kann. Wegen ihrer Semantik bezeichnet man diese Funktion als Inkrementor-Funktion. Wird diese Inkrementor-Funktion mit dem Argument x=3 aufgerufen – dem Suffix (3) innerhalb der print-Anweisung in Listing 1–15 –, ist das Ergebnis der Integer-Wert 6. In diesem Buch kommen häufig Lambda-Funktionen zum Einsatz, Sie sollten deshalb sicherstellen, dass Sie sie wirklich verstanden haben (allerdings werden Sie auch ausreichend Gelegenheit bekommen, Ihr intuitives Verständnis der Lambda-Funktionen zu verbessern).
Zusammenfassung
Dieses Kapitel bot Ihnen einen Crashkurs in Python, um Ihre Grundkenntnisse in dieser Sprache aufzufrischen. Sie haben die wichtigsten Python-Datenstrukturen untersucht und anhand von Codebeispielen ihre Verwendung gesehen. Sie sahen, wie Sie mit if-elif-else-Anweisungen sowie while- und for-Schleifen den Programmfluss kontrollieren können. Sie haben noch einmal die grundlegenden Datentypen in Python – Boolean, Integer, Float und String – und die gebräuchlichen eingebauten Operationen und Funktionen angeschaut. Die meisten Codeschnipsel in der Praxis und in nicht trivialen Algorithmen verwenden leistungsfähigere Containertypen wie Listen, Stacks, Mengen und Dictionaries. Mithilfe der Beispiele haben Sie gelernt, wie man Elemente hinzufügt, entfernt, einfügt und neu anordnet. Außerdem haben Sie Operatoren zum Prüfen der Zugehörigkeit und List Comprehensions kennengelernt: eine effiziente und starke Methode zum programmtechnischen Erzeugen von Listen in Python. Und schließlich haben Sie Funktionen kennengelernt und wie Sie diese definieren (einschließlich der anonymen Lambda-Funktion). Jetzt sind Sie bereit für die ersten 10 einfachen Python-Einzeiler.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.