Pythonでのelse文の整理
if-else文:
様々な言語と同じ使い方で、条件文でif文と組み合わせて使用されるelse文.if文の条件式の結果ブール値が偽の場合、プログラムはelse文の後のコードを実行します.その文法は最もよく知られています.
Elif(else-if)文:
Elifはpythonが提供するelse-if文で、複数の条件式の値が真であるかどうかを確認し、真の場合に特定のコードブロック内のコードを実行します.elseと同様にelifはオプションですが、1つのif文に複数のelif文を含めることができますが、最後には1つのelse文しかありません.
while-else/for-else文:
他の言語では,条件文を除いてelse分岐は見られないが,Pythonではwhileとforループでもelse文を用いることができる.これらの動作順序は、ループで使用される場合、else文はループが完了した後にのみ実行されます.すなわち、break文もelseコードブロックをスキップし、breakではなくループが正常に終了するとelse文が実行されます.
while-elseの例:
プログラムの実行結果は次のとおりです.
largest factor of 10 is 5
11 is prime
largest factor of 12 is 6
13 is prime
largest factor of 14 is 7
largest factor of 15 is 5
largest factor of 16 is 8
17 is prime
largest factor of 18 is 9
19 is prime
largest factor of 20 is 10
try-else文:
pythonのエラーと例外の場合、try-except文セグメントは、elseと連用することもできます.その機能とループのelse文には大きな違いはありません.try範囲内で異常が検出されていない場合、else句を実行します.文法を見てみましょう.
もちろん、例外処理では、elseはfinallyと同様に使用できます:try-except-else-finally.
様々な言語と同じ使い方で、条件文でif文と組み合わせて使用されるelse文.if文の条件式の結果ブール値が偽の場合、プログラムはelse文の後のコードを実行します.その文法は最もよく知られています.
if expression:
expr_true_suite
else:
expr_false_suite
Elif(else-if)文:
Elifはpythonが提供するelse-if文で、複数の条件式の値が真であるかどうかを確認し、真の場合に特定のコードブロック内のコードを実行します.elseと同様にelifはオプションですが、1つのif文に複数のelif文を含めることができますが、最後には1つのelse文しかありません.
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
elif expressionN:
exprN_true_suite
else:
none_of_the_above_suite
while-else/for-else文:
他の言語では,条件文を除いてelse分岐は見られないが,Pythonではwhileとforループでもelse文を用いることができる.これらの動作順序は、ループで使用される場合、else文はループが完了した後にのみ実行されます.すなわち、break文もelseコードブロックをスキップし、breakではなくループが正常に終了するとelse文が実行されます.
while-elseの例:
#!/usr/bin/env python
#
def showMaxFactor(num):
count=num/2
while count>1:
if num%count == 0:
print 'largest factor of %d is %d' % (num,count)
break
count -=1
else:
print num,'is prime'
for i in range(10,21):
showMaxFactor(i)
プログラムの実行結果は次のとおりです.
largest factor of 10 is 5
11 is prime
largest factor of 12 is 6
13 is prime
largest factor of 14 is 7
largest factor of 15 is 5
largest factor of 16 is 8
17 is prime
largest factor of 18 is 9
19 is prime
largest factor of 20 is 10
try-else文:
pythonのエラーと例外の場合、try-except文セグメントは、elseと連用することもできます.その機能とループのelse文には大きな違いはありません.try範囲内で異常が検出されていない場合、else句を実行します.文法を見てみましょう.
try:
log = open('logfile.txt','w')
except:
print 'file logfile.txt is not exsit'
else:
log.write('no exception caught')
log.close()
もちろん、例外処理では、elseはfinallyと同様に使用できます:try-except-else-finally.