¿Por qué python agrega una ‘L’ al final del resultado de los grandes exponentes?

Si te has dado cuenta, python agrega una L al final de los resultados de grandes exponentes como este:

>>> 25 ** 25 88817841970012523233890533447265625L 

Después de hacer algunas pruebas, descubrí que cualquier número por debajo de 10 no incluye la L. Por ejemplo:

 >>> 9 ** 9 387420489 

Esto fue extraño, entonces, ¿por qué sucede esto, hay algún método para prevenirlo? Toda la ayuda es apreciada!

Python admite enteros de precisión arbitrarios, lo que significa que puede representar números más grandes que un tipo de entero normal de 32 o 64 bits. La L le indica cuándo un literal es de este tipo y no un entero normal.

Tenga en cuenta que L solo aparece en la salida del intérprete, solo significa el tipo. Si imprime ese resultado en su lugar:

 >>> print(25 ** 25) 88817841970012523233890533447265625 

La L no se imprime.

En Python 3, estos tipos se han fusionado, por lo que Python 3 produce:

 Python 3.4.0 (default, Apr 11 2014, 13:05:11) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 24 ** 24 1333735776850284124449081472843776