Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
CHIRIMEN open hardware became open source (English)
Next
Download to read offline and view in fullscreen.

Share

Functional Python

Download to read offline

Talk about python functional features and how to use them

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Functional Python

  1. 1. T h e D e v e l o p e r s C o n f e r e n c e - P O A 2 0 1 5 FUNCTIONAL PYTHON Funções e conceitos aplicados 1
  2. 2. GIOVANE LIBERATO (lambda dev: dev.favorite_quote)(eu) “git push -f origin master“ 2
  3. 3. UM CÓDIGO QUALQUER 3
  4. 4. UM CÓDIGO QUALQUER 4 E se tivermos que adicionar mas dois, três ou cinco tipos novos no sistema?
  5. 5. MULTIMETHOD DISPATCHER 5
  6. 6. MULTIMETHOD DISPATCHER 6 High order functions
  7. 7. MULTIMETHOD DISPATCHER 7 High order functions First class functions
  8. 8. GOTTA LOVE LIST COMPREHENSIONS 88
  9. 9. GOTTA LOVE LIST COMPREHENSIONS 99 No side effects
  10. 10. FUNCTION COMPOSITION 1010
  11. 11. FUNCTION COMPOSITION 1111 f(g(x), h(x))
  12. 12. FUNCTION COMPOSITION 1212 retirado de https://mathieularose.com/function-composition-in-python/
  13. 13. STATELESS E IMUTABILIDADE 1313
  14. 14. STATELESS E IMUTABILIDADE 1414 stateless arguments imutabilidade
  15. 15. CLOSURE
  16. 16. DECORATORS
  17. 17. DECORATORS cache_values(fib(n))
  18. 18. DECORATORS cache_values(fib(n)) Fun fact: fib(1000) 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080 322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875L
  19. 19. LAZY EVALUATION
  20. 20. SO FAR… 20 ▫︎ Higher Order e First-class functions ▫︎ No side-effects ▫︎ Function composition ▫︎ Closure ▫︎ Lazy evaluation ▫︎ Recursão
  21. 21. COMPARANDO OS CONCEITOS FP ▫︎ Higher Order Functions ▫︎ Imutabilidade ▫︎ No side-effects ▫︎ Stateless and functions 21 OOP ▫︎ Encapsulamento ▫︎ Herança ▫︎ Polimorfismo ▫︎ State e Behaviour
  22. 22. 22 Dicas para iniciar com FP Todas as funções devem aceitar parâmetros Todas as funções devem retornar valores ou outra função Loops são proibidos
  23. 23. 23 Programação funcional é útil Quando se tem um tipo fixo de dados e um número variável de operações Quando se almeja paralelismo/programação concorrente Programação funcional não é útil Quando se tem dados e operações fixas que crescerão juntas
  24. 24. 24 Programação funcional não é difícil Programação funcional só não é familiar
  25. 25. Features funcionais do python 25
  26. 26. DESCONSTRUINDO A CLASSE PYTHON 2626 retirado de http://www.pedrowerneck.com/o-porque-do-self-explicito-em-python-pt-br.html
  27. 27. LAMBDA (FUNÇÕES ANÔNIMAS) 2727
  28. 28. LAMBDA (FUNÇÕES ANÔNIMAS) 2828
  29. 29. MAP 2929
  30. 30. REDUCE 3030
  31. 31. FILTER 3131
  32. 32. GENERATORS 3232
  33. 33. Mesclando OOP e FP 33
  34. 34. STRATEGY PATTERN EM JAVA 3434
  35. 35. Blah, muito verboso! (eu queria colocar isso no mesmo slide do código, mas não coube) 35
  36. 36. STRATEGY PATTERN EM PYTHON 3636
  37. 37. O QUE O PYTHON NÃO TEM 37 ▫︎ Variáveis imutáveis ▫︎ Tail Recursion Optimization ▫︎ Pattern matching
  38. 38. USANDO NO DIA A DIA 38 ▫︎ No side-effects ▫︎ Funções pequenas ▫︎ Function composition ▫︎ Lazy evaluation ▫︎ Imutabilidade
  39. 39. bit.ly/fppython 39
  40. 40. giovaneliberato@gmail.com about.me/giovaneliberato pixelated-project.org OBRIGADO!
  • cristianounix

    Sep. 27, 2015
  • antoniojorgebs

    Sep. 27, 2015
  • turicas

    Sep. 27, 2015
  • powerirs

    Sep. 27, 2015
  • rogeriokayo

    Sep. 27, 2015
  • gonzalommj

    Sep. 27, 2015
  • canderson

    Sep. 26, 2015
  • emilianoeloi

    Sep. 26, 2015
  • broanelli01

    Sep. 26, 2015
  • davi_m_moreira

    Sep. 26, 2015
  • miguelpaulista

    Sep. 26, 2015

Talk about python functional features and how to use them

Views

Total views

1,123

On Slideshare

0

From embeds

0

Number of embeds

22

Actions

Downloads

4

Shares

0

Comments

0

Likes

11

×