Como é que me refiro ao objecto nulo em Python?
Em Python, para representar a ausência de um valor, você pode usar o valor None (types.NoneType.None) para objetos e "" (ou len() == 0) para strings. Portanto:
if yourObject is None: # if yourObject == None:
...
if yourString == "": # if yourString.len() == 0:
...
Em relação à diferença entre "==" e "is", testes para a identidade do objeto usando "==" devem ser suficientes. Entretanto, como a operação "is" é definida como a operação de identidade do objeto, provavelmente é mais correto usá-la, ao invés de "==". Não tenho a certeza se existe sequer uma diferença de velocidade.
Seja como for, podes dar uma vista de olhos: