Я только что наткнулся на это поведение, но не видел его объяснения нигде. Я думаю, что float('-inf')
должно быть меньше 0.Правильно ли это для cmp()?
>>> cmp(0, float('-inf'))
1
Я только что наткнулся на это поведение, но не видел его объяснения нигде. Я думаю, что float('-inf')
должно быть меньше 0.Правильно ли это для cmp()?
>>> cmp(0, float('-inf'))
1
float('-inf')
является меньше 0
.
cmp()
возвращает положительное значение, когда первый аргумент больше второго. Поскольку float('-inf')
меньше 0
, что также означает, что 0
больше float('-inf')
так что вы бы ожидать cmp()
вернуть 1
.
Сравнить два объекта х и у и возвращают целое число, в зависимости от результата. Возвращаемое значение отрицательно, если
x < y
, ноль, еслиx == y
и строго положительный, еслиx > y
.
, а также просто проверить:
>>> cmp(0, -1)
1
Глупый я, надеюсь, я сэкономлю кого-то другого от запроса. – dansalmo
Это может помочь узнать, что cmp(a, b)
существу знак a-b
. Таким образом, это +1, если a > b
, -1, если a < b
, и 0, если a == b
.
Как вы думаете, CMP возвращается? сравните с cmp (0, 1), например – alko