擅长:python、mysql、java
<p>虽然彼得·诺维格是一个非常伟大的人,但他的网站很难搜索。在</p>
<p>我记得有段时间我在他的网站上读到了关于<a href="http://norvig.com/python-iaq.html" rel="nofollow">Can I do the equivalent of (test ? result : alternative) in Python?</a>的文章,那是在一次函数式Python演讲之前进行的一些研究。在</p>
<p>我不打算根据我的发现左右你,但你还是应该去读一下关于函数式三元条件运算符的章节。在</p>
<pre><code>def if_(test, result, alternative=None):
"If test is true, 'do' result, else alternative. 'Do' means call if callable."
if test:
if callable(result): result = result()
return result
else:
if callable(alternative): alternative = alternative()
return alternative
</code></pre>