En esta lección se trata la biblioteca estándar de Python.
A veces, en un determinado programa es necesario efectuar una misma tarea en distintos puntos del programa y, a menudo, en diferentes programas es necesario efectuar una misma tarea. Para evitar tener que volver a escribir una y otra vez las mismas instrucciones, casi todos los lenguajes de programación permiten agrupar porciones de programa y reutilizarlos en un mismo programa o en diferentes programas.
Estas agrupaciones de código fueron inventadas en 1951 por Maurice Wilkes, matemático y físico británico que construyó en 1949 el EDSAC, el primer ordenador que almacenaba los programas en la propia circuitería del ordenador. Por sus contribuciones a la informática, Wilkes recibió en 1967 el premio Turing, considerado el premio Nobel de la Informática. Wilkes bautizó a las agrupaciones de código con el nombre de subrutinas, pero posteriores lenguajes de programación les han ido dando distintos nombres (subrutinas, procedimientos, funciones, métodos, etc.) y dándoles distintas características.
Las subrutinas tienen muchas ventajas evidentes:
Si una subrutina se va a utilizar en un único programa, se suele definir en el propio programa. Pero cuando una subrutina se va a utilizar en varios programas, no es necesario repetirla en cada programa (se perderían algunas de las ventajas comentadas anteriormente), sino que se puede incluir en un fichero aparte al que los programas pueden acceder para recuperar las subrutinas. Estos ficheros reciben el nombre de bibliotecas (en español se suele decir mucho librería, traduciendo incorrectamente el término inglés library).
En Python se utiliza el término función para referirse a las subrutinas y el término módulo para referirse a las bibliotecas.