Eu tenho tentado descobrir como representar um número máximo máximo, e eu li para usar "sys.maxint"
. No entanto, no Python 3, quando eu o chamo, recebo:
AttributeError: module 'object' has no attribute 'maxint'
python
python-3.x
Ci3
fonte
fonte
Respostas:
http://docs.python.org/3.1/whatsnew/3.0.html#integers
fonte
Conforme apontado por outros, o Python 3
int
não tem um tamanho máximo, mas se você precisar de algo com garantia de ser mais alto do que qualquer outroint
valor, poderá usar o valor flutuante para o Infinity, com o qual poderá obterfloat("inf")
.fonte
Python 3 ints não tem um máximo.
Se seu objetivo é determinar o tamanho máximo de um int em C quando compilado da mesma forma que o Python, você pode usar o módulo struct para descobrir:
Se você estiver curioso sobre os detalhes de implementação interna dos objetos int do Python 3, procure
sys.int_info
por bits por dígito e detalhes de tamanho de dígito. Nenhum programa normal deve se preocupar com isso.fonte
Se você estiver procurando por um número maior que todos os outros:
Método 1:
Método 2:
Se você estiver procurando por um número menor que todos os outros:
Método 1:
Método 2:
O método 1 funciona no Python2 e no Python3. O método 2 funciona em Python3. Eu não tentei o método 2 no Python2.
fonte
O Python 3.0 não possui mais o sys.maxint, já que as entradas do Python 3 são arbitrárias. Em vez de sys.maxint, ele possui sys.maxsize; o tamanho máximo de um tamanho positivo size_t aka Py_ssize_t.
fonte
Uma alternativa é
fonte