我正在编写一个方法,成功时返回一个元组,但是None
失败时。我还没有最终确定None
(作为失败案例返回)但它是选择之一。我们可以回来吗-1,-1
对于失败案例?我正在寻找最好的Pythonic方法来实现这一点,以便拆包很容易。
请让我知道我们如何改进它。下面给出伪代码
def myFunc(self):
if self.validate() != 0:
return
x,y = self.getXY()
return x,y
如果失败了,为什么不抛出异常呢?
您当然可以返回 (-1, -1) 作为失败,但在我看来这不是一个好的解决方案。
请记住,在 Python 中,EAFP(请求宽恕比请求更容易)比 LBYL(三思而后行)更受青睐。
这意味着最好在一切正常的假设下编写代码,然后捕获适当的异常。
然后你的代码可能会变成
def myFunc(self):
if self.validate() != 0:
raise CustomNotValidatedException()
x,y = self.getXY()
return x,y
我会通过以下方式改进您的代码:
最后,你可以在里面引发异常getXY()
并在您的代码中直接使用此方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)