【Python】with文の使い方についてasとからめて解説

python with文 as

この記事ではwith文について解説していきます。
また、with文の中にasを入れる記述方法についても解説していきます。

スポンサードリンク




【Python】with文とasを使ってファイルの書き込みをする方法

前回の記事ではファイルを開いたり読み込んだりする方法について解説しました。
【Python】ファイルの読み込み方法をわかりやすく解説

ちなみにファイルを開くのにopen()を使いましたし
ファイルの読み込みにread()、ファイルを閉じるのにclose()を使いましたね。

また、ファイルの書き込みは

x = open('konn.txt', 'w')

と第2引数にwと記述することで実現できました。

前回までの方法だと
コードの記述がやや長ったらしくなります。

そこで、今回解説するwith文が登場するわけです。

例題1をご覧ください。

#例題1
x = 'Is this a flower or a dog?'
y = open('doubutu.txt', 'w')
z = y.write(x)
y.close()
print(x)

例題1は前回解説したopenやwを使ってファイルの書き込みを行いました。
コードの意味合いについてはこちらの記事で解説しています。
【Python】ファイルを開く・ファイルに書き込みする方法

実行すると
Is this a flower or a dog?

と表示されつつ、
doubutufairu

doubutu.txtというファイルが作成されます。
そしてdoubutu.txtというファイルを開くと
with文

Is this a flower or a dog?
という文字列が書き込まれています。

で、例題1のような記述方法でなくても
with文とasを使うことで
より短い記述で目的を達成することができるんです。

例題2をご覧ください。

#例題2
x = 'Is this a flower or a dog?'
with open('doubutu.txt','w') as y:
    y.write(x)
print(x)

例題2は例題1とまったく同じ結果が得られます。
例題2について解説していきますね。

まず変数xにIs this a flower or a dog?という文字列を代入します。

それから

with open('doubutu.txt','w') as y:

先ほどのIs this a flower or a dog?という文字列を
doubutu.txtというファイルに書き込みます。

そのときにwith文を使います。
最初にwithと記述し、そのあとにopen関数を使います。
open関数の後に、asと書いて、ファイルのオブジェクト名を書き、『:(コロン)』
を入れましょう。

それから

    y.write(x)

インデント(空白を開けること)をとって、write関数を使って
ファイルの書き込みを行います。

こんな感じでwith文とasを使うことで
close関数を使用する必要がなくなり、
例題1よりも短いコードで目的を達成することができるようになるんです。

例題1と比べて1行少ないだけですが
それでも、大規模なプログラミングなら何十行、
何百行の差になってくることもあるので、
意味のあることです。

スポンサードリンク




【Python】with文とasを使ってファイルの読み込みをする方法

例題3をご覧ください。

#例題3
x = open('doubutu.txt', 'r')
y = x.read()
x.close()
print(y)

例題3は前回の記事で解説した方法で
ファイルの読み込みを行いました。
【Python】ファイルの読み込み方法をわかりやすく解説

実行すると
Is this a flower or a dog?
と表示されます。

例題3をwith文で書き換えてみましょう。
例題4のようになります。

#例題4 with文を使ったファイルの読み込み
with open('doubutu.txt','r') as y:
    print(y.read())

かなりすっきりしましたね。

with open('doubutu.txt','r') as y:

withの後に、open()関数を使ってdoubutu.txtを開き、第2引数でrを使うことで
ファイル内容を読み込んでいるわけです。

それから

    print(y.read())

とすることで、doubutu.txtを読み込み
表示させているわけですね。

with文を使うことで
close関数を使わなくてもファイルを閉じることが可能です。

したがって、with文を使うということは
より、短い記述で目的を達成することができますし
ファイルの閉じ忘れを防止することもできる
わけですね。

そういった意味では
ファイルの読み書きに関して
with文はかなり使い勝手がよいものだといえますね。

pythonを学ぶならこちらの動画講座がおすすめです

Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする

かなり長い講座名ですね。
わかりにくそうな感じがします。

ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。

また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。

それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。

なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。

値段は時期によって違います。

詳しくはこちらをご覧ください。


みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。

そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。

単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。

なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。


Pythonで機械学習:scikit-learnで学ぶ識別入門

この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。

すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。

でもそんなことはありません。
すごくわかりやすいです。

pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。

詳しくはこちらをご覧ください。

関連記事

ページ上部へ戻る