Python - Programação funcional

6,366 views
6,032 views

Published on

Introdução ao uso de Python como linguagem de programação funcional.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,366
On SlideShare
0
From Embeds
0
Number of Embeds
413
Actions
Shares
0
Downloads
220
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Python - Programação funcional

  1. 1. por Fábio Cerqueira
  2. 2. Python Funcional Python possibilita, além dos paradigmas mais tradicionais, trabalhar com o paradigma de programação funcional. •Vantagens: • Redução do código-fonte • Maior velocidade • Em alguns casos facilita implementações • Desvantagens: • Maior possibilidade de gerar códigos obscuros • Não é uma paradigma muito difundido A abordagem usada neste curso para programação funcional em python não tem intenção de aprofundar no assunto, mas apenas mostrar algumas ferramentas que a linguagem apresenta para seu uso.
  3. 3. Expressões lambda Expressões lambdas são funções que não precisam ser nomeadas, funções anônimas. Sintaxe: lambda arg1,arg2,arg3...,argN: expressão As expressões lambda são úteis quando usadas com as funções filter,map,reduce do python.
  4. 4. Usando lambda Exemplos do uso de funções lambda comparando com sua forma tradicional.
  5. 5. map A função map é usada quando precisa-se aplicar uma determinada função em todos os itens de uma ou mais sequência. map(function, sequence[, sequence, ...]) -> list Exemplo:
  6. 6. map completo A função map aceita mais uma sequência. Veja os exemplos: Note que como pow recebe no mínimo dois parâmetros quando temos passar o map com pow em uma lista deu erro.
  7. 7. reduce A reduce aplica uma função sobre uma sequência e vai acumulando o valor de retorno da função a partir de um valor inicial. Sintaxe: reduce(function, sequence[, initial]) -> value Exemplos:
  8. 8. filter O filter opera a função passa sobre a lista, gerando uma outras lista quando o retorno da função for verdadeiro. Sintaxe: filter(function or None, sequence) -> list, tuple, or string Exemplos:
  9. 9. zip A zip retorna uma lista de tuplas associando para cada item das sequências passadas como parâmetro. Sintaxe: zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] Exemplos: Note que no primeiro exemplo a quantidade de tuplas na lista de retorno é a quantidade de elementos da menor sequência.
  10. 10. Exemplos Alguns exemplos do uso das ferramentas funcionais do python. • Gerar lista dos primos entre 2 e 50 • Geras os 10 primeiros valores da sequência de fibonnaci
  11. 11. Exemplos Gerando o fractal conjunto de mandelbrot modo texto. Alguém entende? O.o
  12. 12. Conjunto de Mandelbrot Resultado do exemplo anterior

×