Metaprogramação (Henrique Lopes)

16
Metaprogramação metaprogramação para descobrir o mundo

Transcript of Metaprogramação (Henrique Lopes)

Page 1: Metaprogramação (Henrique Lopes)

Metaprogramaçãometaprogramação para descobrir o mundo

Page 2: Metaprogramação (Henrique Lopes)

Quem sou eu?

● Henrique Lopes● Dev python a 7 anos.● henriquelopes.com.br● Na concrete 1 mês

Page 3: Metaprogramação (Henrique Lopes)

Objetivo é te dar um caminho.

Page 4: Metaprogramação (Henrique Lopes)

Quantidade de frameworks

Page 5: Metaprogramação (Henrique Lopes)

TextoTexto

Page 6: Metaprogramação (Henrique Lopes)
Page 7: Metaprogramação (Henrique Lopes)

TextoTexto

Page 8: Metaprogramação (Henrique Lopes)

Descritores em python

Ele permite na prática, adicionar lógica em ações de acesso, atribuição e remoção.

No nosso exemplo vamos usar:● __set__ : dunder set● __get__ : dunder get

Page 9: Metaprogramação (Henrique Lopes)

Funções built-in

Para definir e recuperar valores no nosso exemplo vamos utilizar, setattr e getattr.

- A função setattr define ou sobrescreve o valor do atributo de um objeto.

- A função getattr recupera o valor de um atributo em um objeto.

Page 10: Metaprogramação (Henrique Lopes)

Base para os meus fields:

Page 11: Metaprogramação (Henrique Lopes)

Definir metaclass em python3.5:

Page 12: Metaprogramação (Henrique Lopes)

Um field implementado:

Page 13: Metaprogramação (Henrique Lopes)

Onde toda magia acontece:

Page 14: Metaprogramação (Henrique Lopes)

Na dúvida

Page 16: Metaprogramação (Henrique Lopes)

www.concretesolutions.com.br

Rio de Janeiro – Rua São José, 90 – cj. 2121Centro – (21) 2240-2030

São Paulo - Av. Nações Unidas, 11.541 3º andar - Brooklin - (11) 4119-0449

Ajudamos empresas a criar produtos digitais de sucesso