Programação funcional em Python

O paradigma funcional é um paradigma que trata a computação como uma sequência de funções e não como uma sequência de acções que mudam o estado do programa. Neste paradigma não há dados mutáveis, tudo é constante: se x é definido como sendo 3, x nunca vai poder ser 4, 5 ou 6.  As variáveis são apenas nomes para valores (vulgo dados), e não uma caixa para o que lá quisermos colocar dentro, seja uma bola azul ou amarela. Esta abordagem é o que diferencia o paradigma funcional do imperativo: no paradigma funcional “transformam-se” valores, aplicam-se em novas situações, no paradigma imperativo alteram-se estados (o conteúdo das variáveis por exemplo).

O Python é uma linguagem que, no meu ponto de vista, extremamente flexível, adaptando-se facilmente às nossas necessidades, e que suporta 3 paradigmas: o funcional, o imperativo e o orientado a objectos. É dada uma grande ênfase à programação orientada a objectos (uma vez que tudo em Python são objectos e a própria linguagem “obriga” a perceber a lógica da programação orientada a objectos), mas não dá tanta à programação funcional. Neste artigo pretendo apenas elucidar o leitor sobre alguns dos recursos disponibilizados pela linguagem para a programação no paradigma funcional e o seu funcionamento, estando a explicação/análise da programação funcional em si fora do objectivo deste artigo.

Continuar a ler