Existen lenguajes de programación compilados y lenguajes de programación interpretados.
Por ejemplo, C++ es un lenguaje compilado
Lo que sucede en C++ es que las líneas de código se transforma mediante el compilador (una herramienta que posee el lenguaje) a código máquina. C++ se comunica directamente con la computadora utilizando el compilador, por eso se llama compilador.
C++ y la computadora se comunican por medio de un compilador, pero Python no es así. Python es un lenguaje interpretado.
No pasamos a código de máquina, sino a bitcode. El bitcode es un lenguaje especial, que puede ser leído por un interprete. Lo especial del bitcode es que es leído por una máquina virtual. Esta máquina puede ser ejecutada en diferentes sistemas operativos. Es por eso que se dice que Python es multiplataforma.
En python se tiene una sección del lenguaje de programación, una de sus partes es el recolector de basura. Esta toma los objetos y variables que no están en uso y eliminarlas.
Lo que está adentro de esta carpeta es el bitcode para que pueda ser leído por la máquina virtual, esta funciona como un tipo de recuperación de código.
random
es un módulo. Un módulo es cualquier archivo de python. Generalmente un módulo contiene código que se puede reutilizar.