• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

M6

[Python] Funções Lambda

6 mensagens neste tópico

O Python tem uma característica interessantíssima que nem sempre é conhecida nem explorada: as funções lambda.

Estas funções lambda não são exactamente as mesmas associadas à programação funcional, mas mesmo assim são um conceito bastante bom bem implementado no Python e que muitas vezes são usadas com as funções filter(), map() e reduce().

Grosso modo, podemos ver as funções lambda como funções sem nome, que podem ser definidas/usadas na hora.

Por exemplo, se quizerem definir uma função que calcule o quadrado de um número, podem definir a seguinte função:

def quadrado(x):
    return x*x

e invocar

quadrado(2)

retorna 4.

ou então podem fazer o cálculo na hora usando uma função lambda:

(lambda x: x*x)(2)

que também retorna 4, pois estamos a definir:

- x é o argumento da função lambda

- x*x é a especificação da função

- 2 é o valor a aplicar à função

mais interessante ainda é definir a função de forma à mesma poder ser usada quando se pretende:

quadrado = (lambda x: x*x)

quando fazem

quadrado(2)

vão obter 4.

Isto tem imensas aplicações e utilidades.

Para saberem mais deixo aqui um capítulo sobre este tema: Using lambda Functions.

As funções lambda aplicadas com as funções Map, Filter e Reduce criam uma flexibilidade fantástica a quem explora o Python mais a fundo.

Se tiverem dúvidas ou quizerem saber mais, digam. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que queres saber em particular?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Methods de String como:

lstrip, rstrip, splitlines, expandtabs, translate, islower, capitalize, swapcase, title, istitle, upper, isupper. :thumbsup:

Claro que nao quero que penses que eu penso que és "o escravo" daqui da zona, mas como disseste, eu aproveitei a deixa :D

Fica Bem []

PS: Interessam-me mais: islower, capitalize, swapcase, title, istitle, isupper. Obrigado :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Methods de String como:

lstrip, rstrip, splitlines, expandtabs, translate, islower, capitalize, swapcase, title, istitle, upper, isupper. :thumbsup:

Claro que nao quero que penses que eu penso que és "o escravo" daqui da zona, mas como disseste, eu aproveitei a deixa :D

Fica Bem []

PS: Interessam-me mais: islower, capitalize, swapcase, title, istitle, isupper. Obrigado :thumbsup:

Podes encotrar essa informação na documentação. Creio que podes inclusivé ver a implementação no ficheiro "apihelper.py", tens é de ter o código fonte instalado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Methods de String como:

lstrip, rstrip, splitlines, expandtabs, translate, islower, capitalize, swapcase, title, istitle, upper, isupper. :thumbsup:

Claro que nao quero que penses que eu penso que és "o escravo" daqui da zona, mas como disseste, eu aproveitei a deixa :D

Fica Bem []

PS: Interessam-me mais: islower, capitalize, swapcase, title, istitle, isupper. Obrigado :thumbsup:

Podes encotrar essa informação na documentação. Creio que podes inclusivé ver a implementação no ficheiro "apihelper.py", tens é de ter o código fonte instalado.

Ya, tipo eu tinha isso era num livro, a dizer ver:XXX, mas era no Appendix B e acho que ele nao traz... vou ver se encontro para lá o tal Appendix ou entao vou a procura da net, deve ser conhecido, afinal é Python :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora