Kapitel 18. with-, match- und else-Blöcke

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Kontextmanager können am Ende fast so wichtig sein wie die Unterroutine selbst. Wir haben damit nur an der Oberfläche gekratzt. [...] In Basic gibt es die Anweisung with, in vielen Sprachen gibt es die Anweisung with. Aber sie tun nicht dasselbe, sie tun alle etwas sehr Oberflächliches, sie ersparen dir das wiederholte Nachschlagen von gepunkteten [Attributen], sie machen keinen Auf- und Abbau. Nur weil es derselbe Name ist, heißt das noch lange nicht, dass es dasselbe ist. Die Anweisung with ist eine sehr wichtige Sache.1

Raymond Hettinger, wortgewandter Python-Evangelist

In diesem Kapitel von geht es um Kontrollflussfunktionen, die in anderen Sprachen nicht so häufig vorkommen und aus diesem Grund in Python oft übersehen oder zu wenig genutzt werden. Es sind dies:

  • Die Anweisung with und das Kontextmanager-Protokoll

  • Mustervergleich mit match/case

  • Die Klausel else in den Anweisungen for, while und try

Die Anweisung with richtet einen temporären Kontext ein und reißt ihn unter der Kontrolle eines Kontextmanager-Objekts zuverlässig wieder ab. Das verhindert Fehler und reduziert den Boilerplate-Code, wodurch die APIs gleichzeitig sicherer und einfacher zu benutzen sind. Python-Programmierer finden viele Verwendungsmöglichkeiten für with Blöcke, die über das automatische Schließen von Dateien hinausgehen. ...

Get Fließendes Python, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.