with で囲った部分(with のブロック)部分は処理が完結される。
一番分かりやすいのはファイル操作。オープンしたらクローズが必須だけど、結構忘れがち。
with だとオープンするだけで、その処理ブロックが終了したら自動的にクローズしてくれるから便利(クローズ忘れがなくなる)。
with open('test.csv', w) as f:
writer = csv.writer(f)
writer = writer.writerow([1,2,3])
# fのクローズは不要!
概要だけでな分かりづらい内容は、具体例があれば分かりやすくなるな、やっぱり。