Comparación de cadenas en Python: es vs == [duplicate]


Esta pregunta ya tiene una respuesta aquí:

Me di cuenta de que un script de Python que estaba escribiendo estaba actuando arduamente, y lo rastreé hasta un bucle infinito, donde la condición del bucle era while line is not ''. Corriendo a través de él en el depurador, se volvió fuera de esa línea era de hecho ''. Cuando lo cambié a !='' en lugar de is not '', funcionó bien.

Además, ¿se considera generalmente mejor usar '==' por defecto, incluso cuando se comparan valores int o booleanos? Siempre me ha gustado usar ' is ' porque lo encuentro más estético y pitónico (que es cómo caí en esta trampa...), pero me pregunto si está destinado a ser reservado para cuando te importa encontrar dos objetos con el mismo id.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52