Pythonでwith構文を使う方法【初心者向け】

初心者向けにPythonでwith構文を使う方法について解説しています。withとは何なのか、どう書けば良いのか詳しく説明しています。withを使用した場合と使用しない場合での違いも比較しているので、より理解もしやすいでしょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、Pythonでwith構文を使う方法を解説します。

withを使った場合と使わなかった場合の比較も紹介しているので、どう違うのか理解しやすいでしょう。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

Pythonのwith構文とは

Pythonのwithを使用すると、何かの処理の開始時と終了時に必須の処理を、絶対に実行してくれます。

何かの処理の開始時と終了時に必須の処理とは、通信処理やファイル処理やデータベース処理などがあります。

 

Pythonでwithを使う書き方

Pythonでwithを使う文法

with 開始と終了を必要とする処理

 

解説

通信処理やファイル処理やデータベース等、開始と終了を必要とする処理の先頭にwithを記載します。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

Pythonでwithを使って実際に書いてみよう

今回はwithを使わない書き方と使う書き方を並べて解説します。

次の処理はファイルを扱う際の、ファイルオープン処理とファイルクローズ処理です。

 

techacademy.txtのファイル内容

未経験プログラマー転職を目指す効率的な短期集中講座

 

withを使用しない場合

ファイル処理コード

fileread = open("techacademy.txt", "r")
  print(fileread.read())
fileread.close()

表示結果

未経験プログラマー転職を目指す効率的な短期集中講座

解説

1行目のfileread = open(“techacademy.txt”, “r”)では、open関数を利用してtechacademy.txtを読み込む(r)為に開いています(open)。

そして、開いた内容をfileread変数に代入しています。

2行目のprint(fileread.read( ))では、fileread変数に対して、read関数を使用して読み込みながら、print関数を使用して表示をしています。

3行目のfileread.close( )では、開いたファイルを閉じています。この処理を忘れるとエラーになります。Pythonでprintを使う方法の記事も合わせてご覧ください。

 

withを使用する場合

ファイル処理コード

with open("techacademy.txt", "r") as fileread:
  print(fileread.read())

表示結果

未経験プログラマー転職を目指す効率的な短期集中講座

解説

1行目のwith open(“techacademy.txt”, “r”) as fileread:では、open関数を利用してtechacademy.txtを読み込む(r)為に開いています(open)。

その際、開いたファイル名をas fileread変数名に代入しています。

先頭にwithを記載しているのでclose( )関数の処理はありません。

2行目のprint(fileread.read( ))では、fileread変数に対して、read関数を使用して読み込みながら、print関数を使用して表示をしています。

繰り返しますが、先頭にwithを記載しているのでclose( )関数の処理は必要ありません。これにより、開いたファイルを閉じる処理を忘れずに自動的に行うことが可能です。

結果的にエラーを防ぐ事が可能です。

 

今回は、Pythonでwithを使う方法を解説しました。

入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。

 

また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

独学に限界を感じている方はぜひご覧ください。