擅长:python、mysql、java
<p>以下是<a href="http://jaynes.colorado.edu/PythonIdioms.html" rel="noreferrer">this page</a>中关于Python习惯用法的一些好建议:</p>
<hr/>
<p>捕捉错误而不是避免错误,以避免使用特殊情况使代码混乱。这个成语叫做EAFP(“请求原谅比请求许可更容易”),与LBYL(“三思而后行”)相反。这通常使代码更具可读性。例如:</p>
<p>更糟的是:</p>
<pre><code>#check whether int conversion will raise an error
if not isinstance(s, str) or not s.isdigit:
return None
elif len(s) > 10: #too many digits for int conversion
return None
else:
return int(str)
</code></pre>
<p>更好:</p>
^{pr2}$
<p>(请注意,在这种情况下,第二个版本要好得多,因为它可以正确处理前导的+和-,以及介于20亿到100亿之间的值(对于32位计算机)。不要因为预测所有可能的失败而使代码变得混乱:只需尝试一下并使用适当的异常处理。)</p>