with【処理のカプセル化】3.1 / 3.10
メモ
- 処理をカプセル化〔 例 〕
- try-except-else-finally【例外処理】の後処理を簡素化
- open【ファイルオープン】等で利用 (明示的な close【クローズ】省略)
- 入れ子になる場合、カンマ区切りで複数指定可能 3.1〔 例 〕
- 複数指定で行が長くなる場合の行継続(\)の代わりに、カッコでグループ化 3.10〔 例 〕
- with 文に対応するコンテキストマネージャ〔 例 〕
- __enter__・__exit__ メソッドを実装
(通常、標準ライブラリ contextlib【with 文コンテキスト用ユーティリティ】を使用)
- __enter__・__exit__ メソッドを実装
- 関連
構文
with 要素:処理1 (1行)
処理2 (複数行可)
with 要素 (複数:カンマ区切り):処理1 (1行) 3.1
処理2 (複数行可)
with ( 3.10
要素1,
...
要素n[,]
):処理1 (1行)
処理2 (複数行可)
要素式 [as ターゲット]
処理1・処理2どちらか1つを指定