Python core
Orientação a Objetos, CTypes e Introspecção no Dia a Dia
Sala John Cleese
01/10
11:00
Resumo
Language
Português
Level:
Iniciante
Resumo:
Raio X da implementação dos bindings de Python para a biblioteca gráfica "Leptonica", pelo autor e manentenedor.
Esses bindings são implementados 100% em Python usando ctypes - e neles, todas os objetos de alto-nível, implementadndo as estruturas de dados da biblioteca em C, e wrappers das funções são gerados automaticamente a partir da leitura dos arquivos .H e .C da biblioteca.
A Leptônica é uma biblioteca ráida e simples escrita em C puro que implementa vários algoritmos de processamento e análise de imagens. Ctypes é o módulo da biblioteca padrão de Python que permite o interfaceamento direto de Python com bibliotecas escritas em C ou outras linguagens compiladas. Seu uso direto é possível, mas exige cuidado e um estudo minucioso de cada chamada feita e parametros usados - com preocupação constante em problemas de baixo nível, como alocação e liberação de memória, sob pena de causar uma segmentation fault no interpretador Python.
A apresentação mostra estratégias criadas com meta-programação em torno da funcionalidade da Ctypes de forma que os tipos gerados automaticamente se comportem como classes de alto-nível em Python - inclusive com a criação de construtores e destrutores automáticos para os objetos. Para tanto, se faz uso ostensivo de metaprogramação, construção dinâmica de classes, manipulação de name-spaces dos módulos e até de Weakrefs (referências fracas)
Detalhes sobre o palestrante
João Sebastião de Oliveira Bueno
João Sebastião de Oliveira Bueno trabalha com software livre desde 1997, e com a linguagem Python desde 2001. É atuante na comunidade brasileira de Python, se concentrando na exploração de bibliotecas e aplicativos gráficos que sejam acessíveis através desta linguagem. É um dos desenvolvedores do GIMP (GNU Image Manipulation Program). Como consultor com empresa própria atuou em vários projetos relacionados a portais e desenvolvimento de sistemas usando Python. Em 2009 e 2010 atuou como professor assistente na Fatec de Americana, onde utilizou Python em várias disciplinas. Atualmente integra a diretoria da Associação Python Brasil e trabalha com a Simples Consultoria, com as tecnologias Plone e Zope.
João Sebastião de Oliveira Bueno trabalha com software livre desde 1997, e com a linguagem Python desde 2001. É atuante na comunidade brasileira de Python, se concentrando na exploração de bibliotecas e aplicativos gráficos que sejam acessíveis através desta linguagem. É um dos desenvolvedores do GIMP (GNU Image Manipulation Program). Como consultor com empresa própria atuou em vários projetos relacionados a portais e desenvolvimento de sistemas usando Python. Em 2009 e 2010 atuou como professor assistente na Fatec de Americana, onde utilizou Python em várias disciplinas. Atualmente integra a diretoria da Associação Python Brasil e trabalha com a Simples Consultoria, com as tecnologias Plone e Zope.