Why not True == True:
<p>The last point of the style guide <a href="http://www.python.org/dev/peps/pep-0008" rel="nofollow">http://www.python.org/dev/peps/pep-0008</a></p>

<p>reads ...</p>

<p>Don't compare boolean values to True or False using ==.</p>

<p>Why?</p>

<p>Edit
Just to make it clear what im asking (and it's indicative of the problem itself), when you write </p>

<pre><code>if something:
    print "something is true"
</code></pre>

<p>You are doing an implicit conversion to a boolean which may or may not work depending on what true means. IMHO this form of programming is discouraged because of the side effects it can cause.</p>

<pre><code>numberOfApples = -1
if numberOfApples:
    print "you have apples" # is not what is intended.

if numberOfApples == True:
    print "you have apples" # is also not what is intended.

iHaveApples = numberOfApples &gt; 0
if iHaveApples is True:    # Edit:  corrected this.. the "is" is better than the ==
  print  "you have apples" # is correct.
</code></pre>

<p>Implicit conversions disguise logical errors. So why does the style guide encourage this? </p>
