繰り返し処理について、第二弾です。
前回はfor文で繰り返し処理を記述して、DB内のデータを取得する。ということを実践してみました。
今回は、while文を用いて、条件に一致したデータを取得することをテーマにしていきたいと思います。
そもそも、for文とwhile文、一見どちらも同じ結果を得られそうですが、何が違うのか?
あるいは、どういった使い分けが適切なのか?に着目していきたいと思います。
目次
while文と、for文の違い
while文も、for文と同じように同じ処理を繰り返し実行するための構文です。
同じ処理を繰り返す。ということは同じなのですが、処理の内容は全く違ったものになります。
for文は、指定された回数だけ処理を繰り返す。という目的で利用されます。
一方while文は、条件式を記述し、その条件が成立している場合に処理を繰り返し、成立しなくなった場合は処理が終了します。繰り返しの回数は決まっていません。
Pythonでwhile文を使用するときの書き方
動作確認の前になんですが、前回の記事で作成したDBやPythonファイルの階層はまた利用します。
もし、ローカルの環境で作成して利用したい。という方は、こちらも再度ご覧ください。
動作確認の前提について
以下のリンクから、ジャンプできます!
基本構文とサンプルコード
それでは、基本的な構文とサンプルコードをご紹介します!
while 条件式 :
条件がTrueの時の処理内容
# coding: utf-8
import sqlite3
conn = sqlite3.connect('TEST_for.sqlite3')
cur = conn.cursor()
cur.execute("select * from clothes")
######変数(count_ID)に、0を代入する######
count_ID = 0
#####while文の条件として、count_IDが、「上限 = 3」になるまで処理を繰り返す#####
while count_ID < 3 :
count_ID +=1 #1ずつカウントアップする
result = cur.fetchone() #fetchoneで一件ずつデータを取得する
if result is None : #値がなくなるとfetchoneの結果はNULL値のNoneになります。
break #Noneになった時点でbreakします。
print(result)
conn.close()
break文やif分については別途記事を作成します。
毎度、すみません、、、。
実行結果
「count_ID」の値は初めは「0」が代入されています。しかし、whileを実行すると、1ずつ増えていくため。以下のように増えていきます。
- 「0(count_ID) < 3(条件)」
- 「1(count_ID) < 3(条件)」
- 「2(count_ID) < 3(条件)」
最終的に、「3 < 3」という条件式に変化していきますが、その時に条件式が不一致(False)になるため、繰り返し処理が終了します。
EOF
for文・while文ともに、繰り返し処理をする構文ですが、利用目的に違いがあること記載しました。
構文の記載方法や、実際の動作もあわせてご参考になさってください。
本日も、一緒に勉強にお付き合いいただき、ありがとうございました!
追伸:これからPythonを学ぶなら
これからPythonを学びたい!業務に活かせるように学習したい!という方ならば、まずはUdemyで学習を始めることをお勧めします。
Udemyでは、数多くの講師陣がITの知識やスキルアップのための解説動画を提供していて、現場でも役立つ知識が多数存在します。
特に、流行りもあるのだと思いますがPythonやAWSの講座は数が多く品質が高いものが多いです。
手前味噌ながら以下の記事で、主に初学者の方向けのお勧め講座のレビューをしていますので、ご参考にしていただけますと幸甚です。
インデントを入れるのを忘れないようにしてください。
以下、前回作成したDBからwhile文でデータを取得する、サンプルコードです!