¿Hay alguna diferencia entre:¿Hay alguna diferencia entre "foo is None" y "foo == None"?
if foo is None: pass
y
if foo == None: pass
La convención que he visto en la mayoría de código Python (y el código yo mismo escribo) es la primera, pero recientemente Vine a través del código que usa el último. Ninguno es una instancia (y la única instancia, IIRC) de NoneType, por lo que no debería importar, ¿no? ¿Hay alguna circunstancia en la que podría?
Es posible que desee agregar que None es un singleton por lo que "None is None" es siempre True. –
Y es posible que desee agregar que el operador 'is' no se puede personalizar (sobrecargado por una clase definida por el usuario). – martineau
Entonces, en su caso, ¿por qué el código "f == None" devuelve True? Confundido ... – study