Funções III: Funções Anônimas

Willian Pessoa
Reflexão Computacional

--

Também chamadas de lambdas

Continuação de:

Introdução

Todas as funções que vimos até agora eram funções com nomes definidos, ou seja, foram criadas através da keyword def. Podemos criar funções sem nomes definidos (anônimas), as quais também são conhecidas como funções lambda.

Função lambda

É uma função pequena e sem nome (anônima). Quando falamos pequena, nos referimos que ela possui somente uma expressão — entenda como somente uma linha. Sua sintaxe é a seguinte:

# Armazenando a função lambda numa variável
var = lambda <argumentos> : <expressão>
  • Sempre começa com a keyword lambda;
  • A declaração dos argumentos é a mesma que funções normais — separados por vírgulas;
  • Uma única expressão (linha de código) que possui um retorno implícito.

Nota: também podemos armazenar funções comuns em variáveis e utilizá-las. Não é uma funcionalidade exclusiva de funções lambdas.

Para entendermos de fato, vejamos alguns exemplos:

  • Função lambda que duplica:
# Criando a função lambda
duplica = lambda x: x * 2
# Realizando o uso
print(duplica(2))
print(duplica(3))
print(duplica(5))
  • Função lambda que multiplica por qualquer fator
# Obtendo o fator
fator = int(input("Insira um fator: "))
multiplica_pelo_fator = lambda x: x * fator
# Realizando o uso
print(multiplica_pelo_fator(2))
print(multiplica_pelo_fator(3))
print(multiplica_pelo_fator(5))
# Atualizando a variável externa fator
fator = 100
print(multiplica_pelo_fator(10))

É só isso?

Sim e não! As funcionalidades de funções lambdas se resumem a estes exemplos que mostramos acima. Entretanto, estas funções são comumente utilizadas utilizando outras funcionalidades do Python, tais como filter, map, zip, entre outras. Retomaremos o estudo de funções lambda quando estivermos estudando estas outras coisas.

--

--