本記事(記事カラム)には広告が含まれています。

2026-03-11 Pythonのwithはオブジェクト名の省略ではなかった

人気ブログランキングテキスト
記事内に広告が含まれています。
人気ブログランキングテキスト

これまで私は、Pythonのwith文を「オブジェクト名を省略するための構文」だと思い込んでいました。 他の言語ではwithが省略用途で使われることが多いので、Pythonも同じだろうと自然に考えていたのです。

ところが実際には、Pythonのwith文はまったく別の目的で使われていました。 with文は、ファイルを開いたら閉じる、ロックを取得したら解放する、といった前後処理を自動で行うための仕組みだったのです。 コンテキストマネージャという仕組みで、__enter__()__exit__() が呼ばれるようになっていると知って、ようやく腑に落ちました。

言われてみれば確かにそういう動きをしていたので、「なんか変だな」と感じていた理由がやっとわかりました。

Pythonはまだまだ知らないことが多いですが、こうして誤解が解けて理解が深まる瞬間はとても楽しいです。 引き続き、少しずつ学んでいきたいと思います。

人気ブログランキング ブログパーツ

もしも


人気ブログランキングバナー

人気ブログランキング

人気ブログランキングテキスト