No, None
è solo la stessa cosa di None
si. Le stringhe vuote non sono la stessa cosa:
>>> None == ""
False
None
è un valore speciale singleton (c'è solo una copia in una sessione di Python) che significa "vuoto" o la mancanza di un valore "corretto". In quanto tale è un bandiera o segnale valore; Python lo usa per convenzione per segnalare che un processo non ha restituito nulla, per esempio.
Tutti e due None
E la stringa vuota è considerata falsa in un contesto booleano:
>>> bool(None)
False
>>> bool("")
False
Come tutti i contenitori vuoti (come una tupla vuota, elenco o set) e numerico 0 (sia esso intero, punto galleggiante o un numero complesso). Essere considerati falsi non li rende uguali, tuttavia.
Se volevi testare qualunque valore falso, usa:
while not variable:
come not
interpreta l'operando in un contesto booleano e restituisce il valore inverso:
>>> not ""
True
>>> not None
True
>>> not "not empty"
False