YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Desmistificando Built-in Functions, Lambda e List Comprehension...

Desmistificando Built-in Functions, Lambda, List

Comprehension…

matheper

Page 2: Desmistificando Built-in Functions, Lambda e List Comprehension...

Matheus Pereira

Page 3: Desmistificando Built-in Functions, Lambda e List Comprehension...

https://bitbucket.org/communitas/communities.practice

Page 4: Desmistificando Built-in Functions, Lambda e List Comprehension...

www.thedevelopersconference.com.br/tdc/2014/portoalegre/trilha-python

Page 5: Desmistificando Built-in Functions, Lambda e List Comprehension...

Python é uma linguagem de programação simples

Page 6: Desmistificando Built-in Functions, Lambda e List Comprehension...

Robusta, sofisticada e versátil

Page 7: Desmistificando Built-in Functions, Lambda e List Comprehension...

http://pt.slideshare.net/matheper/pythonificando-a-universidade

Page 8: Desmistificando Built-in Functions, Lambda e List Comprehension...

Programando de maneiraPythônica

Page 9: Desmistificando Built-in Functions, Lambda e List Comprehension...

Recursos opcionais, porém código (quase sempre) fica mais bonito

Page 10: Desmistificando Built-in Functions, Lambda e List Comprehension...

Não...

Page 11: Desmistificando Built-in Functions, Lambda e List Comprehension...

Sim!

Page 12: Desmistificando Built-in Functions, Lambda e List Comprehension...

Resultado

E se eu quiser utilizar o índice?

Page 13: Desmistificando Built-in Functions, Lambda e List Comprehension...

Talvez (não)...

Page 14: Desmistificando Built-in Functions, Lambda e List Comprehension...

Sim!

Page 15: Desmistificando Built-in Functions, Lambda e List Comprehension...

Sim!

?

?

Page 16: Desmistificando Built-in Functions, Lambda e List Comprehension...

Atribuição Múltipla

Page 17: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

rangelen

enumerateprint*

Page 18: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

Page 19: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

Page 20: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

all(iterable)any(iterable)enumerate(sequence, start=0)filter(function, iterable)len(s)map(function, iterable, ...)range(start, stop[, step])reduce(function, iterable[, initializer])

Page 21: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

Page 22: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

Page 23: Desmistificando Built-in Functions, Lambda e List Comprehension...

Built-in Functions

all(iterable)any(iterable)enumerate(sequence, start=0)filter(function, iterable)len(s)map(function, iterable, ...)range(start, stop[, step])reduce(function, iterable[, initializer])

Page 24: Desmistificando Built-in Functions, Lambda e List Comprehension...

filter(function, iterable)

map(function, iterable, ...)

reduce(function, iterable[, initializer])

Page 25: Desmistificando Built-in Functions, Lambda e List Comprehension...

len

Page 26: Desmistificando Built-in Functions, Lambda e List Comprehension...

map + len

Page 27: Desmistificando Built-in Functions, Lambda e List Comprehension...

map + len

Built-in Function

Page 28: Desmistificando Built-in Functions, Lambda e List Comprehension...

def

Page 29: Desmistificando Built-in Functions, Lambda e List Comprehension...

def

Page 30: Desmistificando Built-in Functions, Lambda e List Comprehension...

Propósito de Funções

Reduzir duplicação de códigoModularizar código

Page 31: Desmistificando Built-in Functions, Lambda e List Comprehension...

Funciona?

Page 32: Desmistificando Built-in Functions, Lambda e List Comprehension...

Não.

Page 33: Desmistificando Built-in Functions, Lambda e List Comprehension...

SyntaxError: invalid syntax

Por quê?

Page 34: Desmistificando Built-in Functions, Lambda e List Comprehension...

map(function, iterable, ...)

Por quê?

Page 35: Desmistificando Built-in Functions, Lambda e List Comprehension...

Def não retorna uma função

Page 36: Desmistificando Built-in Functions, Lambda e List Comprehension...

Def nomeia uma função que podeser chamada

posteriormente

Page 37: Desmistificando Built-in Functions, Lambda e List Comprehension...

def

Page 38: Desmistificando Built-in Functions, Lambda e List Comprehension...

Lambda

Page 39: Desmistificando Built-in Functions, Lambda e List Comprehension...

Lambda

lambda [lista-parametros] : expressão

Page 40: Desmistificando Built-in Functions, Lambda e List Comprehension...

Lambda

Page 41: Desmistificando Built-in Functions, Lambda e List Comprehension...

Lambda

lambda retorna um objeto função

a partir de uma expressão

Page 42: Desmistificando Built-in Functions, Lambda e List Comprehension...

Lambda

Chamando função lambda

Page 43: Desmistificando Built-in Functions, Lambda e List Comprehension...

map + lambda

Page 44: Desmistificando Built-in Functions, Lambda e List Comprehension...

map + lambda

Page 45: Desmistificando Built-in Functions, Lambda e List Comprehension...

filter + lambda

Page 46: Desmistificando Built-in Functions, Lambda e List Comprehension...

reduce + lambda

Page 47: Desmistificando Built-in Functions, Lambda e List Comprehension...

reduce + lambda

Page 48: Desmistificando Built-in Functions, Lambda e List Comprehension...

List Comprehensions

Page 49: Desmistificando Built-in Functions, Lambda e List Comprehension...

List Comprehensions

[ expressão-variavel-loop for variavel-loop in sequencia ]

Page 50: Desmistificando Built-in Functions, Lambda e List Comprehension...

List Comprehensions

Page 51: Desmistificando Built-in Functions, Lambda e List Comprehension...

Filtered List Comprehensions

[ expressão-variavel-loop for variavel-loop in sequencia ifexpressão-boolean-variavel-loop ]

Page 52: Desmistificando Built-in Functions, Lambda e List Comprehension...

Filtered List Comprehensions

Page 53: Desmistificando Built-in Functions, Lambda e List Comprehension...

Casos Possíveis

participantes.sort(key=lambda item: item['full_name'])

filter(lambda item:item[‘creator’] == member_id,

communities_local_roles,)

authorized = ['Moderador', 'Owner', 'Manager']roles = member.getRolesInContext(folder)return any([i for i in roles if i in authorized])

Page 54: Desmistificando Built-in Functions, Lambda e List Comprehension...

https://docs.python.org/2/faq/programming.html#is-it-possible-to-write-obfuscated-one-liners-in-python

Simples é melhor que complexo

Page 55: Desmistificando Built-in Functions, Lambda e List Comprehension...

O que não vimos

❏ Iterators❏ Generators❏ Decorators❏ Clousure❏ ...

Page 56: Desmistificando Built-in Functions, Lambda e List Comprehension...

Obrigado!

matheper


Related Documents