Python es un lenguaje de programación que admite diversos paradigmas de programación, incluida la programación funcional. La programación funcional trata de estructurar los programas a través de funciones puras, es decir, funciones que no modifican su entorno y que no tienen un estado interno. En Python, la programación funcional se puede tomar las siguientes herramientas: funciones de orden superior, expresiones lambda, comprensiones de listas y generadores. Las funciones de orden superior son funciones que toman una o más funciones como argumentos y/o devuelven una función como resultado.
Las expresiones lambda son funciones anónimas y pequeñas que se utilizan para retornar valores pequeños de manera rápida. Las comprensiones de listas y generadores son herramientas para crear secuencias de manera eficiente, y su utilización combina programación funcional y orientada a objetos. La programación funcional ayuda a escribir programas más claros y fáciles de depurar, y el uso de funciones puras hace que sea más fácil paralelizar el código y crear pruebas para él. Es importante mencionar que el hecho de utilizar programación funcional no significa que siempre se deba utilizar ese paradigma, se debe elegir la herramienta adecuada para cada problema.