Как я могу представить бесконечное число в Python?
Как я могу представить бесконечное число в python? Независимо от того, какое число вы вводите в программу, никакое число не должно быть больше этого представления бесконечности.
9 ответов
в Python, вы можете сделать:
test = float("inf")
в Python 3.5, вы можете сделать:
import math
test = math.inf
и затем:
test > 1
test > 10000
test > x
всегда будет правдой. Если, конечно, как указано, x также бесконечность или "nan"("не число").
Дополнительно (Python 2.x только), в сравнении с Ellipsis
, float(inf)
меньше, e.g:
float('inf') < Ellipsis
вернет true.
Я не знаю точно, что вы делаете, но float("inf")
дает вам бесконечность поплавка, которая больше, чем любое другое число.
другой, менее удобный, способ сделать это-использовать Decimal
класс:
from decimal import Decimal
pos_inf = Decimal('Infinity')
neg_inf = Decimal('-Infinity')
существует бесконечность в библиотеке NumPy:from numpy import inf
. Чтобы получить отрицательную бесконечность, можно просто написать -inf
.
никто, кажется, не упоминал о отрицательной бесконечности явно, поэтому я думаю, что должен добавить его.
для положительной бесконечности (просто для полноты картины):
math.inf
к минус бесконечности:
-math.inf
В вместо python2.x был грязный хак, который служил этой цели (никогда не используйте его, если это не абсолютно необходимо):
None < any integer < any string
таким образом, при проверке i < ''
держит True
для любого целого числа i
.
Это было разумно устаревшим в python3. Теперь такие сравнения заканчиваются
TypeError: unorderable types: str() < int()
прежде всего, тип float ('inf') - это float, хотя его можно использовать для сравнения, но он значительно медленнее сравнивается с ним. Поэтому, если вы сравниваете большой список чисел с float ('inf'), будьте осторожны, чтобы выбрать его. Я не уверен в производительности " math.бесконечность."