mirror of
https://github.com/kennethreitz/dive-into-python3.git
synced 2026-06-05 23:10:17 +00:00
precedence reversed
This commit is contained in:
@@ -175,8 +175,8 @@ h3:before{counter-increment:h3;content:'A.' counter(h2) '.' counter(h3) '. '}
|
||||
|
||||
<ol>
|
||||
<li>The simplest form.
|
||||
<li>The <code>or</code> operator takes precedence over the <code>in</code> operator, so there is no need for parentheses around <code>(x in a_dictionary)</code> or <code>(y in a_dictionary)</code>.
|
||||
<li>On the other hand, you <em>do</em> need parentheses around <code>(x or y)</code> here, for the same reason — <code>or</code> takes precedence over <code>in</code>. (Note: this code is completely different from the previous line. Python interprets <code>x or y</code> first, which results in either <var>x</var> (if <var>x</var> is <a href=native-datatypes.html#booleans>true in a boolean context</a>) or <var>y</var>. Then it takes that singular value and checks whether it is a key in <var>a_dictionary</var>.)
|
||||
<li>The <code>in</code> operator takes precedence over the <code>or</code> operator, so there is no need for parentheses around <code>(x in a_dictionary)</code> or around <code>(y in a_dictionary)</code>.
|
||||
<li>On the other hand, you <em>do</em> need parentheses around <code>(x or y)</code> here, for the same reason — <code>in</code> takes precedence over <code>or</code>. (Note: this code is completely different from the previous line. Python interprets <code>x or y</code> first, which results in either <var>x</var> (if <var>x</var> is <a href=native-datatypes.html#booleans>true in a boolean context</a>) or <var>y</var>. Then it takes that singular value and checks whether it is a key in <var>a_dictionary</var>.)
|
||||
<li>The <code>in</code> operator takes precedence over the <code>+</code> operator, so this form technically doesn’t need parentheses around <code>(x + y)</code>, but <code>2to3</code> includes them anyway.
|
||||
<li>This form definitely needs parentheses around <code>(y in a_dictionary)</code>, since the <code>in</code> operator takes precedence over the <code>+</code> operator.
|
||||
</ol>
|
||||
|
||||
Reference in New Issue
Block a user