In Python nativo, senza usare NumPy (per cui numpy.nan != numpy.nan
) non c'è NaN, quindi ho ragione nel pensare che il punto mobile di Python ==
è riflessivo? Poi dal momento che è simmetrica (a == b
implica b == a
) e transitiva (se a==b
e b==c
poi a==c
), possiamo dire che di Python ==
è una relazione di equivalenza sui float
s?Python == è una relazione di equivalenza sui float?
EDIT: OK, così ho imparato che ci è un NaN: float('nan')
(grazie @unutbu) che si propagano attraverso varie operazioni, ma non qualsiasi metodo Python nativo restituirlo (piuttosto che aumentare un'eccezione) senza di me l'introduzione da questo incarico?
Non lo sapevo: grazie. 'Nan 'è effettivamente restituito da qualsiasi operazione Python nativa (invece di un'eccezione che viene sollevata)? – xnx
@xnx: '1e400/1e400' restituisce' nan'. –
Vedere anche [PEP 754] (https://www.python.org/dev/peps/pep-0754/) per ulteriori informazioni su questo. –