Просто интересно, в чем смысл того, чтобы переменная хранила бесконечное значение в программе? Существует ли какое-либо фактическое использование, и есть ли там случай, когда было бы предпочтительнее использовать foo = float('Inf')
, или это просто небольшой фрагмент, который они застряли для его размещения?
Какова точка float ('Inf') в Python?
Ответ 1
Он действует как неограниченное верхнее значение для сравнения. Это полезно для нахождения минимальных значений для чего-то. например, вычисление затрат маршрута маршрута при пересечении деревьев.
например. Поиск "дешевого" пути в списке опций:
>>> lowest_path_cost = float('inf')
>>> # pretend that these were calculated using some worthwhile algorithm
>>> path_costs = [1, 100, 2000000000000, 50]
>>> for path in path_costs:
... if path < lowest_path_cost:
... lowest_path_cost = path
...
>>> lowest_path_cost
1
если у вас не было float('Inf')
для вас, какое значение вы бы использовали для the initial lowest_path_cost
? Было бы достаточно 9999999
- float('Inf')
удаляет это предположение.
Ответ 2
Из документации:
Многие функции с плавающей точкой были добавлены. Функция float() теперь превратит строку nan в значение IEEE 754 Not A Number, а +inf и -inf в положительную или отрицательную бесконечность. Это работает на любой платформе с семантикой IEEE 754. (Предоставлено Кристианом Хаймсом; выпуск 1635.)
Также обратитесь к этому: Работа с Infinity и NaNs
Ответ 3
float('inf')
может использоваться в сравнении, что делает код более простым и понятным. Например, в сортировке слиянием, float('inf')
может быть добавлен в конец подмассива в качестве значения часового. Не путайте с использованием бесконечности в математике, ведь программирование - это не только математика.