私は、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