Algoritmos¶
Python incluye varios módulos para implementar algoritmos de forma elegante y concisa usando cualquier estilo que sea más apropiado para la tarea. Admite estilos puramente procesal, orientado a objetos y funcionales, y los tres estilos se mezclan con frecuencia en diferentes partes de el mismo programa.
functools
incluye funciones para crear decoradores de funciones,
permitiendo la programación orientada a aspectos y la reutilización de código,
más allá del soporte tradicional de la programación orientada a objetos.
Proporciona un decorador de clases para implementar toda la rica interfaz de
comparación usando un atajo y objetos partial
para crear referencias a
funciones con sus argumentos incluidos.
El módulo itertools
incluye funciones para crear y trabajar con
iteradores y generadores que se usan en programación funcional. El módulo
operator
elimina la necesidad de muchas funciones lambda triviales
cuando se usa un estilo de programación funcional, proporcionando interfaces
basadas en funciones para operación incluidas como aritmética o búsqueda de
elementos.
Y sin importar qué estilo se usa en un programa, contextlib
hace la
gestión de recursos más fácil, más confiable y más concisa. Combinando
gestores de contexto y la sentencia with
reduce el número de bloques
try:finally
y niveles de indentación necesarios, asegurando al mismo tiempo
que los archivos, los conectores, las transacciones de la base de datos y otro
recursos sean cerrado y liberados en el momento correcto.