Não, None
é apenas a mesma coisa que None
em si. Strings vazios não são a mesma coisa:
>>> None == ""
False
None
é um valor especial de singleton (existe apenas uma cópia em uma sessão de Python) significa 'vazio' ou a falta de um valor 'adequado'. Como tal, é um bandeira ou sinal valor; O Python o usa por convenção para sinalizar que um processo não retornou nada, por exemplo.
Ambos None
e a sequência vazia é considerada falsa em um contexto booleano:
>>> bool(None)
False
>>> bool("")
False
como todos os recipientes vazios (como uma tupla, listar ou definir vazios) e numérico 0 (seja inteiro, ponto flutuante ou um número complexo). Ser considerado falso não os torna iguais, no entanto.
Se você quisesse testar algum valor que é falso, use:
while not variable:
Como not
Interpreta o operando em um contexto booleano e retorna o valor inverso:
>>> not ""
True
>>> not None
True
>>> not "not empty"
False