私は、if-elif-elseコントロールで本当にクールなものを考えていました。
if condition:
stuff()
elif condition:
otherstuff()
then:
stuff_that_applies_to_both()
else:
stuff_that_doesnt_aply_to_either()
したがって、基本的にa thenは、else条件を除いていずれかの条件が実行されたときに実行されます。これは便利だと思いますか?Pythonのtry-except-elseに似ています。
皆さんの中には、非常に予備的な実装を選んでいる人もいると思います。thenブロックは、同じようになりelse、ブロックtry-exceptのpythonでブロック。私がこれを提案する本当の理由は、このような状況のためです。
m = {}
if condition == '1':
m['condition'] = condition
elif condition2 == '3':
m['condition2'] = condition2
elif condition3 == 'False':
m['condition3'] = True
then:
run_test_that_relies_on_one_of_the_conditions_being_true()
return m
thenちょうどのような場合、ブロックは、最初にスコープされてelseいます。したがって、ネストはうまく機能します。ifステートメントの前にメソッドを実行する必要がある場合、それはこのユースケースとはまったく関係ありません。
finallyはJavaのように動作しますか
thenは少し混乱することがわかります。通常、thenは後に発生することを意味しますif。if condition, then stuff()つまり、あなたは言っているのですが、次に進みますthen stuff that applies to both