この概念は以前にも出てきたと思いますが、適切で簡単な答えが見つかりません。複数の戻り値を持つ関数を処理するために try/finally を使用するのは悪い方法ですか? たとえば、私は
try:
if x:
return update(1)
else:
return update(2)
finally:
notifyUpdated()
これは、 update() コマンドを一時変数に格納してそれを返すよりも優れているように思えます。