関数内の後続の各ステップの後に実行する必要があるチェックがあるため、そのステップを関数内の関数として定義したいと考えました。
>>> def gs(a,b):
... def ry():
... if a==b:
... return a
...
... ry()
...
... a += 1
... ry()
...
... b*=2
... ry()
...
>>> gs(1,2) # should return 2
>>> gs(1,1) # should return 1
>>> gs(5,3) # should return 6
>>> gs(2,3) # should return 3
では、ry 内から gs に 'a' を返すようにするにはどうすればよいですか? super を使用することを考えましたが、それはクラス専用だと思います。
ありがとう
少し混乱しています... a==b の場合にのみ a を返したいです。a!=b の場合、gs にまだ何も返してほしくありません。
編集:デコレータが最良の解決策かもしれないと思います。