擅长:python、mysql、java
<p>记住这条来自《Python禅》的建议:
“可读性很重要。”</p>
<p>当三元运算符都在一行上时,它是最可读的。</p>
<p><code>x = y if z else w</code></p>
<p>当条件或变量将行推过79个字符(参见PEP8)时,可读性开始受到影响。(可读性也是dict/list理解最好保持简短的原因。)</p>
<p>因此,如果您将它转换为一个常规的<code>if</code>块,您可能会发现它更具可读性,而不是试图使用括号打断行。</p>
<pre><code>if does_not_haggle(brian):
answer = 'Ten for that? You must be mad!'
else:
answer = "It's worth ten if it's worth a shekel."
</code></pre>
<p>另外:上述重构揭示了另一个可读性问题:<code>does_not_haggle</code>是反向逻辑。如果您可以重写函数,这将更具可读性:</p>
<pre><code>if haggles(brian):
answer = "It's worth ten if it's worth a shekel."
else:
answer = 'Ten for that? You must be mad!'
</code></pre>