O domínio teórico para números inteiros (integers) em Python vai de infinito negativo até o infinito. Na prática, os valores inteiros são limitados pela quantidade de memória disponível.
No Python 2, havia uma distinção entre números que se encaixam em números _longos_( **`long`**) e **`int`**, de 32 ou 64 bits, limitados pela memória disponível. O Python 3 unificou os dois tipos em apenas **`int`** . Mais informações no [PEP 237](https://www.python.org/dev/peps/pep-0237/) .
Literais numéricos não contêm um sinal. No entanto, é possível criar _objetos inteiros_ negativos prefixando com um operador `-` (menos) sem espaço antes do literal:
Da mesma forma, objetos inteiros positivos podem ser criados prefixando um operador `+` (mais) sem espaço antes dos dígitos. Normalmente o `+` é omitido:
Os números inteiros binários (base 2, prefixo: `0b` ou `0B` ), octais (base 8, prefixo: `0o` ou `0O` ) e hexadecimais (base 16, prefixo: `0x` ou `0X` ) também podem ser criados usando literais inteiros:
As constantes `boolean` internas são instâncias da classe `bool` e são subclasses da classe `int` , tornando-as uma espécie de tipo numérico:
```
>>> type(True)
<class'bool'>
>>> issubclass(bool, int)
True
```
Se isso não faz sentido para você, não se preocupe. Por enquanto, lembre-se de que chamar o construtor int com objetos `boolean` retornará _objetos inteiros_ :
Ambas as sequências prefixadas e não prefixadas de literais inteiros podem ser usadas. No entanto, se usadas, o prefixo deve corresponder à base fornecida:
Se uma seqüência de caracteres prefixada e base 0 for usada, o objeto inteiro criado usará a base especificada pelo prefixo. Se nenhum prefixo for usado, então a base assumida é 10: