Você está aqui: Página Inicial / Programação / Grade do evento / Python core / Orientação a Objetos, CTypes e Introspecção no Dia a Dia
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 BuenoJoã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.

 

Banner Plone Symposium

Patrocínio
Globo.com Simples Consultoria GlobalCode Serpro Active State Liberiun LZT

PyTown go now BitBucket
Apoio
Menttes
Apoio de Mídia
Revista Espírito Livre Revista Espírito Livre
Apoio Institucional
Pythonbrasil Python Software Foundation Google Mozilla Plone
Organização
Diaspar
A PythonBrasil[7] é um evento organizado pela Diaspar sob permissão da Associação Python Brasil.