Arquivo da tag: iniciantes

Nomeando fatias de sequências em Python

Nomeando fatias de sequências em PythonQuem já precisou escrever algum programa para obter valores dentro de uma string, lista ou outra sequência semelhante, certamente acabou envolvido em uma grande confusão de valores fixos (hardcoded) de índices ao longo do código. Para evitar isso, é bem provável que você tenha recorrido a algo como:

CAMPO_X_INICIO = 5
CAMPO_X_FIM = 10
CAMPO_Y_INICIO = 16
CAMPO_Y_FIM = 19

Mas Python é Python: sempre dá para melhorar seu código quando você aprende mais sobre os recursos da linguagem. Para tornar esse tipo de código ainda mais legível e fácil de manter, podemos usar a função built-in slice. Em seu uso mais comum, a função recebe os índices inicial e final de uma fatia e retorna um objeto do tipo slice, que representa uma porção de uma sequência.

Na prática, funciona assim: vamos supor que temos um arquivo texto no qual cada linha é um registro contendo o número de matrícula do aluno e as suas três notas em uma determinada disciplina:

>>> registro = "12345041009"

Os cinco primeiros caracteres correspondem sempre ao número de matrícula. Os dois caracteres seguintes são a primeira nota, os dois seguintes são a segunda e os dois restantes são a terceira.

Usando slice() para armazenar os intervalos correspondentes, temos:

>>> MATRICULA = slice(0, 5)
>>> NOTA_1 = slice(5, 7)
>>> NOTA_2 = slice(7, 9)
>>> NOTA_3 = slice(9, 11)

Com isso, temos uma forma muito mais legível de definir os limites de cada fatia que nos interessa na sequência, o que nos permite obter facilmente os valores que queremos:

>>> registro[MATRICULA]
'12345'
>>> registro[NOTA_1]
'04'
>>> registro[NOTA_2]
'10'
>>> registro[NOTA_3]
'09'

Referência: Python Cookbook, 3rd Edition (recomendo fortemente!)

Photo Credit: Jorge Quinteros via Compfight cc

E-book do livro A Byte of Python em português

E-book do livro A Byte of Python em portuguêsApós alguns pedidos por versões em e-book e PDF da tradução do A Byte of Python, finalmente resolvi arregaçar as mangas e encarar a tarefa. A parte mais chata foi exportar o HTML página por página – a tradução original está em um wiki – e juntar tudo em um único arquivo, com os devidos ajustes e correções. Depois foi só usar o Calibre para adicionar uma capa e converter o HTML para os formatos ePub e Mobi. A versão PDF ficou de fora porque o arquivo gerado pelo Calibre a partir de HTML não fica muito legal (não existem quebras de página nem margens).

As versões em e-book passam também a estar disponíveis na página do projeto da tradução. Para quem quiser contribuir com revisão do texto e correção de erros de digitação, criei um repositório com o código-fonte HTML no GitHub. Fiquem à vontade para fazer forks no repositório.

Livro “A Byte of Python 3” traduzido para o português brasileiro

A Byte of Python - Português BrasileiroFinalmente, depois de algum tempo de baixa prioridade para o projeto, conseguimos concluir 100% da tradução do livro A Byte of Python, de Swaroop CH. Gostaria de agradecer imensamente a todos os voluntários que colaboraram na tradução, fazendo com que mais uma opção de aprendizado da linguagem esteja disponível em língua portuguesa.

A todos os interessados, leiam e façam suas sugestões e críticas para que possamos corrigir eventuais falhas.

Para ler online: A Byte of Python 3 (português brasileiro)

Verificando a versão do Django

Quando estamos usando um computador desconhecido ou simplesmente não conseguimos lembrar qual a versão do Django que está instalada, é sempre útil descobrir do jeito mais rápido possível. Para resolver o problema com uma única linha de comando no shell, temos:

$ python -c "import django; print django.get_version()"

Para aprender mais: