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 Anweisungwith
ist 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
with
und das Kontextmanager-Protokoll -
Mustervergleich mit
match/case
-
Die Klausel
else
in den Anweisungenfor
,while
undtry
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.