Я пытаюсь выяснить, как представить максимальное целое число, и я читал использовать "sys.maxint"
. Однако в Python 3, когда я это называю, я получаю:
AttributeError: module 'object' has no attribute 'maxint'
Я пытаюсь выяснить, как представить максимальное целое число, и я читал использовать "sys.maxint"
. Однако в Python 3, когда я это называю, я получаю:
AttributeError: module 'object' has no attribute 'maxint'
Константа sys.maxint была удалена, так как больше нет предела к значению целых чисел. Однако sys.maxsize можно использовать как целое больше, чем любой практический список или индекс строки. Он соответствует реализаций "натуральный" целочисленный размер и, как правило, один и тот же как sys.maxint в предыдущих выпусках на той же платформе (при условии, что те же варианты сборки).
Как указано другими, Python 3 int
не имеет максимального размера, но если вам просто нужно что-то, что гарантировано выше любого другого значения int
, то вы можете использовать значение float для Infinity, который вы можете получить с помощью float("inf")
.
У Python 3 ints нет максимума.
Если ваша цель - определить максимальный размер int в C при компиляции таким же образом, как и Python, вы можете использовать модуль struct, чтобы узнать:
>>> import struct
>>> platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1
Если вам интересно узнать внутренние детали реализации объектов Python 3 int, посмотрите sys.int_info
для битов на цифры и цифры размера цифры. Никакая нормальная программа не должна заботиться об этом.
Python 3 не имеет ограничения на int.
но вы можете использовать sys.maxsize
как целое число, большее, чем любой практический список или индекс строки.
Если вы ищете число больше, чем все остальные:
Метод 1:
float('inf')
Метод 2:
import sys
max = sys.maxsize
Если вы ищете число меньше, чем все остальные
Метод 1:
float('-inf')
Метод 2:
import sys
min = -sys.maxsize - 1
Метод 1 работает как в Python2, так и в Python3. Метод 2 работает в Python3. Я не пробовал метод 2 в Python2.
У Python 3.0 больше нет sys.maxint, поскольку Python 3 ints имеют произвольную длину. Вместо sys.maxint он имеет sys.maxsize; максимальный размер положительного размера size_t aka Py_ssize_t.
Python3 не поддерживает sys.maxint, вместо этого вы можете использовать:
sys.maxsize
n = len(items);
minima = [sys.maxint for я in range(n)];
maxima = [-sys.maxint -1 for я in range(n)];