Verdadero = Asignación falsa en Python 2.x

Posible duplicado:
¿Por qué no puede Python manejar los valores verdaderos / falsos como espero?

Parece una pregunta estúpida, pero ¿por qué la siguiente statement en Python no está explícitamente prohibida?

>> True=False >> True False 

¿Cómo es True y False intérprete de Python?

True , al igual que str o cualquier otro componente, es solo un nombre que existe en el ámbito de forma predeterminada. Puede volver a enlazarlo como cualquier otro nombre.

Python en realidad tiene muy pocas palabras reservadas . Todo lo demás está sujeto a redefinición. Depende de ti tener cuidado!

 >>> True = False False 

En la asignación anterior, True es solo una variable como cualquier otra variable que uses. Su scope está limitado al scope actual. Por lo tanto, puede asignarle cualquier valor como en el siguiente ejemplo. Tenga en cuenta que la comparación 2 < 3 todavía se imprime en True , porque todavía tiene acceso a la función builtin .

 >>> True = 3 >>> True 3 >>> 2 < 3 True 

Mecanografía

 True = False 

crea una nueva variable llamada True, cuyo valor le asigna a False.

Respondiendo a su segunda pregunta, Verdadero y Falso son versiones personalizadas de los números enteros 1 y 0 (técnicamente hablando, subclases), que solo tienen una representación de cadena diferente.