Dive into python and-or fail
<p>I am stuck at this particular example from dive into python</p>

<p><strong>Example 4.18. When the and−or Trick Fails</strong></p>

<pre><code>&gt;&gt;&gt;&gt;a = ""
&gt;&gt;&gt;&gt;b = "second"
&gt;&gt;&gt;1 and a or b
&gt;&gt;&gt;&gt;'second'
</code></pre>

<p><strong>Since a is an empty string, which Python considers false in a boolean context, 1 and '' evalutes to '', and
then '' or 'second' evalutes to 'second'. Oops! That's not what you wanted.
The and−or trick, bool and a or b, will not work like the C expression bool ? a : b when a is false in a
boolean context.</strong></p>

<p>Why does it says it isn't what the user wants, I mean 1 and "" would evaluate to False, while "" or b will evaluate to "second", that's perfectly what should happen, I don't understand why is it wrong?am I missing something?</p>
