mirror of
https://github.com/kennethreitz/dive-into-python3.git
synced 2026-06-05 15:00:18 +00:00
fixed precedence of + and "in"
This commit is contained in:
@@ -177,8 +177,8 @@ h3:before{counter-increment:h3;content:'A.' counter(h2) '.' counter(h3) '. '}
|
||||
<li>The simplest form.
|
||||
<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.
|
||||
<li>The <code>+</code> operator takes precedence over the <code>in</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>+</code> operator takes precedence over the <code>in</code> operator.
|
||||
</ol>
|
||||
|
||||
<h2 id=dict>Dictionary methods that return lists</h2>
|
||||
|
||||
Reference in New Issue
Block a user