Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21089

Pythonの制御文

$
0
0

はじめに

ここでは、Python初心者向けに「制御文」について解説していきます。
Python3系の使用を想定しています。

条件分岐

条件によって処理を分けたい場合に使います。

if文

ifに続く条件式がTrueなら、処理が実行されます。
if 条件式:と書いた次の行は、半角スペース4つ分インデントして書き始めます。

if_1.py
x=2y=2ifx==y:print('xとyは等しい。')

この例では、x == yTrueとなるので、xとyは等しい。と出力されます。

また、elseを入れると、ifに続く条件式の判定がTrueでなかった場合の処理を記述できます。

if_2.py
x=2y=3ifx==y:print('xとyは等しい。')else:print('xとyは等しくない。')

さらに、elifを入れると、それより上の条件式の判定が全てFalseで、elifに続く条件式がTrueだったときの処理を記述できます(elifelse ifの略です)。

if_3.py
x=2y=3ifx==y:print('xとyは等しい。')elifx==2:print('xとyは等しくないが、xは2である。')else:print('xとyは等しくなく、xは2ではない。')ifx==2andx!=y:# 条件式にandを使うこともできる。
print('xは2であり、xとyは等しくない。')elifx==yory==4:# 条件式にorを使うこともできる。
print('xとyは等しい、またはyは4である。')else:print('それ以外。')ifx==2:ify==3:# 入れ子にすることもできるが、この例の場合は可読性が下がるので、非推奨。
print('xは2であり、yは3である。')elifx==y:print('xとyは2である。')else:print('xは2であり、yは2でも3でもない。')elifx==3:print('xは3である。')else:print('xは2でも3でもない。')

ちなみに、Pythonにはswitch文はありません。

反復処理

同じ処理を複数回繰り返す時に使います。

for文

一定回数だけ同じ処理を繰り返す時に使います。
for 変数 in イテラブル:と書いた次の行は、半角スペース4つ分インデントして書き始めます。

for_1.py
nums=[1,2,3,4,5]fornuminnums:print(num)fori,numinenumerate(nums):print(i,num)foriinrange(len(nums)):# あまり使われない。
print(nums[i])dict_human={'身長':200,'体重':100,'BMI':25}forkeyindict_human.keys():# 辞書のキーを取り出す。
print(key)forvalueindict_human.values():# 辞書の値を取り出す。
print(value)forkey,valueindict_human.items():# 辞書とキーの値の組み合わせを取り出す。
print(key,value)for_inrange(10):# forの後の変数を処理の記述で使わない(実行回数のみ指定したい)場合は、'_'でも可。
print('実行しました。')

breakを使うと、反復処理を中止することができます。ifと組み合わせて、特定の条件が成立した時に処理を中止するといったときに使うことが多いです。

for_2.py
nums=[1,2,3,4,5]fornuminnums:ifnum==3:break# numが3になった時点で処理は中止する(2までしか出力されない)。
print(num)

continueを使うと、反復処理をスキップすることができます。こちらもifと組み合わせて使うことが多いです。

for_3.py
nums=[1,2,3,4,5]fornuminnums:ifnum==3:continue# numが3のときだけ出力処理をしない(3以外が出力される)。
print(num)

while文

ある条件が成立する間のみ反復処理をする場合に使います。
while 条件式:と書いた次の行は、半角スペース4つ分インデントして書き始めます。

while_1.py
num=1whilenum<5:print(num)num+=1num=1whilenum<5:num+=1print(num)

whileの中も上から下へ順番に処理が実行されるため、書き方によって実行結果が変わる場合があります。

変数の値の更新を書き忘れると、処理が無限回数繰り返される(無限ループとなる)ので注意が必要です。

while_2.py
num=1# while num < 5:
# print(num)
# while True:
# print(num)

反復回数が決まっている場合はforを、反復回数が決まっていない場合はwhileを使うようにすると良いです。

まとめ

ここでは、Pythonの制御文として、条件分岐の「if」、反復処理の「for」および「while」を紹介しました。
プログラミングの中心とも言える構文なので、実際に使いながら身につけていくと良いでしょう。

参考資料・リンク

Pythonチュートリアル 制御文


Viewing all articles
Browse latest Browse all 21089

Trending Articles