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 Anweisungwith. 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 Anweisungwithist eine sehr wichtige Sache.1Raymond 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
withund das Kontextmanager-Protokoll -
Mustervergleich mit
match/case -
Die Klausel
elsein den Anweisungenfor,whileundtry
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. ...