title: python None and equals evaluation
body: <p>If I run the following Python 3.7 code</p>
  <pre><code>a=None
  b=None
  a==b
  &gt;&gt; True
  b is not None
  &gt;&gt; False
  True is not None
  &gt;&gt; True
  a==b is not None
  &gt;&gt; False
  </code></pre>
  <p>since a==b is True, this makes me understand this code evaluates as A==B where A=a and B=b is not None</p>
  <p>However, if I run the following code</p>
  <pre><code>a = datetime(2020,1,1)
  b = datetime(2020,1,1)
  a==True
  &gt;&gt; False
  b is not None
  &gt;&gt; True
  a==b is not None
  &gt;&gt; True
  </code></pre>
  <p>it contradicts the above. So I'm puzzled a bit with how all this is evaluated.</p>
  <p>Thanks for your help!</p>