Здесь просто интересно, какой смысл иметь переменную, хранящую бесконечное значение в программе? Есть ли какое-то реальное использование и есть ли случай, когда было бы предпочтительнее использовать foo = float('Inf')
, или это просто небольшой фрагмент, который они вставили ради его вставки?
3 ответа
Он действует как неограниченное верхнее значение для сравнения. Это полезно для нахождения самых низких значений для чего-либо. например, вычисление стоимости маршрута маршрута при обходе деревьев.
Например Нахождение «самого дешевого» пути в списке вариантов:
>>> 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')
удалит это предположение.
Из документации:
Многие функции с плавающей точкой были добавлены. Функция float () теперь превратит строку nan в значение IEEE 754 Not A Number, а + inf и -inf в положительную или отрицательную бесконечность. Это работает на любой платформе с семантикой IEEE 754. (Предоставлено Кристианом Хеймсом; выпуск 1635.)
Также ознакомьтесь со следующим: Работа с бесконечностью и NaNs
float('inf')
может использоваться в сравнении, что делает код более простым и понятным. Например, в сортировке слиянием float('inf')
может быть добавлен в конец подмассива в качестве значения часового. Не путайте с использованием бесконечности в математике, ведь программирование - это не только математика.
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.