Python ma więc dodatnią i ujemną nieskończoność:
float("inf"), float("-inf")
To wydaje się być rodzaj funkcji, która musi mieć pewne zastrzeżenie. Czy jest coś, o czym powiniennam wiedzieć?
1 odpowiedź
Nadal można uzyskać wartości inne niż liczba (NaN) z prostej arytmetyki obejmującej inf:
>>> 0 * float("inf")
nan
Zauważ, że zwykle nie otrzymasz wartości inf poprzez zwykłe obliczenia arytmetyczne:
>>> 2.0**2
4.0
>>> _**2
16.0
>>> _**2
256.0
>>> _**2
65536.0
>>> _**2
4294967296.0
>>> _**2
1.8446744073709552e+19
>>> _**2
3.4028236692093846e+38
>>> _**2
1.157920892373162e+77
>>> _**2
1.3407807929942597e+154
>>> _**2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: (34, 'Numerical result out of range')
Wartość inf jest uważana za bardzo specjalną wartość z nietypową semantyką, dlatego lepiej jest natychmiast dowiedzieć się o OverflowError poprzez wyjątek, a nie podawać wartości inf po cichu do obliczeń.