Я ищу объект Python, который гарантированно будет превосходить любой заданный int
. Он должен быть переносимым, независимым от платформы и работать как на Python 2.7+, так и на 3.x.
Например:
x = float('inf')
while True:
n = next(my_gen)
if my_calc(n):
x = min(n, x)
if my_cond(x):
break
Здесь я использовал float('inf')
для этой цели, потому что он ведет себя правильно. Но это кажется грязным, потому что я думаю, что это зависит от некоторой базовой спецификации с плавающей запятой, и я не знаю, будет ли это зависеть от платформы или сломается неожиданным образом.
Я знаю, что мог бы создать свой собственный класс и определить операторы сравнения, но я думал, что может быть существующий встроенный способ.
Безопасно ли использовать float('inf')
таким образом? Есть ли менее уродливый способ создания этого «наибольшего целого числа»?