Po raz pierwszy natknąłem się na with
instrukcję Python . Używam Pythona od kilku miesięcy i nawet nie wiedziałem o jego istnieniu! Biorąc pod uwagę jego nieco niejasny status, pomyślałem, że warto zapytać:
- Do czego służy instrukcja Python
with
? - Do czego tego używasz?
- Czy są jakieś problemy, o których muszę wiedzieć, lub powszechne anty-wzorce związane z ich użyciem? Jakieś przypadki, w których lepiej jest użyć
try..finally
niżwith
? - Dlaczego nie jest stosowany szerzej?
- Jakie standardowe klasy bibliotek są z nim zgodne?
with
w dokumentacji Python 3.