Decoradores em Python

decoradores_em_python-1_abertura

Um decorador em Python é um objeto que estende/modifica a funcionalidade de uma função (ou método) em tempo de execução e conceitualmente está mais próximo da anotação do Java que do decorador da orientação a objetos.

Na prática, o decorador age como uma embalagem de presente, acondicionando a função sem alterar seu conteúdo (ele continua sendo um presente) mas deixando-o mais bonito.

Continuar lendo

Anúncios

Geradores em Python

geradores-1_abertura

Os geradores em Python são uma maneira simples de criar um objeto iterável sem a necessidade de construí-lo dentro de uma classe. De forma bem resumida, um objeto iterável consiste em um conjunto finito de dados¹ cujo conteúdo é tratado (ou iterado, dah!) um elemento por vez, iniciando do primeiro e seguindo até o último, quando a iteração é terminada.

(¹) Também é possível produzir geradores que contém séries infinitas de dados.

Continuar lendo

Cobertura de código com pytest

pytestcov-1_abertura-1

Expandindo um pouco aquele básico sobre o pytest com algo que é muito importante em uma rotina de testes, a cobertura do código. E que consiste em uma medida numérica descrevendo o quanto do seu código está sendo efetivamente executado pelas suas rotinas de teste.

No caso específico do Python com pytest uma forma de fazer esta verificação é através do plugin pytest-cov que faz uso de uma outra ferramenta, a coverage, para automaticamente registrar e produzir relatórios de cobertura. E, consequentemente, ajudar a escrever rotinas de teste que efetivamente alcançam todas as partes do programa.

Continuar lendo

Registro de eventos em Python

logging-1_abertura

O registro de eventos¹ é um recurso bastante útil pois ajuda na visualização do que está ocorrendo dentro do programa ao permitir a exibir o valor de variáveis em determinado instante ou mesmo sinalizar quais partes do código vão sendo executadas.

Em Python o módulo logging se encarrega de implementar funções e classes que permitem a utilização deste recurso e isto aqui é um roteiro bem simples de como utilizá-lo em seus programas.

(¹) Ou simplesmente logging, se preferir.

Continuar lendo

Um básico de pytest

pytest-1_abertura

O pytest é um framework que permite criar pequenas rotinas de teste mas que também pode ser usado para dar suporte a uma sofisticada rotina de testes funcionais para aplicações e bibliotecas. Não é a única biblioteca de testes disponível em Python mas é  considerada como a alternativa a mais “pythônica” para se escrever testes.

E isto é uma introdução bem simplificada para quem quer começar a escrever testes para seus programas e não sabe exatamente como iniciar…

Continuar lendo