Diferencia entre si <obj> y si <obj> no es Ninguno

Al escribir un código de análisis XML, recibí la advertencia:

FutureWarning: The behavior of this method will change in future versions.  Use specific 'len(elem)' or 'elem is not None' test instead.

donde utilicéif <elem>: para comprobar si se encontró un valor para un elemento dado.

¿Alguien puede elaborar la diferencia entreif <obj>: vsif <obj> is not None: ¿Y por qué Python se preocupa por lo que uso?

Casi siempre uso el primero porque es más corto y no es un doble negativo, pero a menudo veo el segundo en el código fuente de otras personas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta