擅长:python、mysql、java
<p>如果失败了,你为什么不提出一个例外呢?</p>
<p>你当然可以以失败的形式返回(-1,-1),但在我看来这不是一个好的解决方案。</p>
<p>记住,在Python中,EAFP(请求宽恕比请求许可更容易)比LBYL(三思而后行)更受欢迎。</p>
<p>这意味着,最好在假设所有代码都工作的情况下编写代码,然后捕获适当的异常。</p>
<p>你的代码会变成</p>
<pre><code> def myFunc(self):
if self.validate() != 0:
raise CustomNotValidatedException()
x,y = self.getXY()
return x,y
</code></pre>
<p>我将通过以下方式改进您的代码:</p>
<ul>
<li><p>当结果不为正时,使self.validate()返回0,这样您就可以更像Python一样更改第二行:</p>
<pre><code> if not self.validate():
</code></pre></li>
<li><p>通过将return语句更改为:</p>
<pre><code> return self.getXY()
</code></pre></li>
</ul>
<p>最后,您可以在<code>getXY()</code>中引发异常,并在代码中直接使用此方法。</p>