我很难为这个问题找到合适的标题,所以请原谅我。
我班上的许多方法如下所示:
def one_of_many():
# code to determine `somethings`
for something in somethings:
if self.try_something(something):
return
# code to determine `something_else`
if self.try_something(something_else):
return
…
哪里self.try_something
返回True
或False
。
有没有办法用类似的东西来表达这一点:
def one_of_many():
# code to determine `somethings`
for something in somethings:
self.try_something_and_return(something) # this will return from `one_of_many` on success
# code to determine `something_else`
self.try_something_and_return(something_else) # this will return from `one_of_many` on success
…
我一直在摆弄装饰器和上下文管理器来实现这一点,但没有成功,但我仍然相信“一定有更好的方法!”。