最近、いくつかの関数で次のイディオムを使用していることに気付きました。
[...]
def validate(self):
# Possibly do something "expensive" to calculate whether data is valid or not
if data_is_valid:
return ObjectOfSomeSort(validated_data)
return False
ret = self.validate()
if ret:
return ret
[...]
構文は少し扱いにくく、Python的ではないように感じret = ...; if ret: return ret
ますが、常に次のようなことができるとは限りません。
if self.validate():
return self.validate()
時々私の検証関数にはかなり計算コストのかかるロジックが含まれているからです。
つまり、StackOverflow、この種の問題にはどのようなPythonイディオムが存在するのでしょうか。具体的には、他にどのように「条件付きで戻る」ことができますか?