¿Por qué ... == True devuelve False en Python 3?

Estoy aprendiendo Python, pero estoy un poco confundido por el siguiente resultado.

In [41]: 1 == True
Out[41]: True

In [42]: if(1):
    ...:     print('111')
    ...:     
111

In [43]: ... == True
Out[43]: False <===== why this is False while '1 == True' is True in previous sample

In [44]: if (...): <==== here ... just behaves like True
    ...:     print('...')
    ...:     
...

De acuerdo ala documentación, ... tiene un valor de verdad de Verdadero.

Pero todavía siento que el código anterior es un poco inconsistente.

... Y algo más interesante:

In [48]: 2==True
Out[48]: False <===== why 1==True returns True while 2==True returns False?

In [49]: if(2):
    ...:     print('222')
    ...:     
222

Respuestas a la pregunta(4)

Su respuesta a la pregunta