for ... else
文は、検索ループを実装するために使用されます。
特に、検索ループが何かを見つけられない場合を処理します。
for z in xrange(10):
if z == 5:
# We found what we are looking for
print "we found 5"
break # The else statement will not execute because of the break
else:
# We failed to find what we were looking for
print "we failed to find 5"
z = None
print 'z = ', z
出力:
we found 5
z = 5
検索は、検索リスト(すなわち[]
)空の場合for
がZ初期化されないことに注意してください
z = None
for z in xrange(10):
if 5 == z:
# We found what we are looking for
break
if z == None:
print "we failed to find 5"
else:
print "we found 5"
print 'z = ', z
と同じです。そのため、検索後にzを使用するときにzを定義する必要があります。 z
が印刷しようとしたときに定義されていないため、次は例外を発生させます。要約する
for z in []:
if 5 == z:
break
print "z = ",z
出力
print "z = ",z
NameError: name 'z' is not defined
for
ループが自然に終了するたびに、else
句が実行されます。 for
ループでブレークまたは例外が発生すると、else
ステートメントは実行されません。
...または例外がスローされました –
ああ!私はそれを知っています。 – Jimmy