Sintaxis de Python ''If not''
python-2.7 (1)
Esta pregunta ya tiene una respuesta aquí:
Estoy un poco confundido acerca de cómo / por qué tantos desarrolladores de Python usan, if not
en sus declaraciones condicionales.
por ejemplo, digamos que tenemos una función,
def foo(bar = None):
if not bar:
bar = 2
Pero, ¿por qué seguir así? Quiero decir, ¿no estaría haciendo if bar != None
o if bar is not None
sería más explícito? ¿Qué hace if not
intentas decir?
Sí, if bar is not None
es más explícita y, por lo tanto, mejor, suponiendo que es lo que realmente desea. Ese no es siempre el caso, hay diferencias sutiles: if not bar:
se ejecutará si la bar
es cualquier tipo de contenedor vacío o cero, o False
. Muchas personas usan not bar
que no significan que realmente no significan que bar is not None
.