最近我发现自己在一些函数中使用了以下成语:
[...]
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
[...]
但是,我觉得ret = ...; if ret: return ret
语法有点笨拙且不合Python,而且我并不总是能够做类似的事情
if self.validate():
return self.validate()
因为有时我的验证函数包含一些计算量相当大的逻辑。
那么,StackOverflow,对于这类问题存在哪些 Python 习语;具体来说,我还能如何“有条件地返回”?