22 de setembro de 2010

Veja seu programa Python rodando!

O Online Python Tutor é muito bom para quem está aprendendo a programar e praticar os conceitos de lógica.

Com ele você consegue acompanhar a execução do seu código linha a linha, como se fosse um depurador. E ele ainda mostra as variáveis e seus conteúdos.

Não é recomendado para depurar código, não. É só para aprender mesmo.

17 de setembro de 2010

Pratique Python online no CodingBat

Há alguns dias eu postei sobre um curso de Python elaborado pelo Google.

Fuçando, descobri que o autor, Nick Parlante, é professor de Stanford e mantém um projeto bem legal para ajudar pessoas a aprenderem Python e Java. É o CodingBat.

É um bom lugar para praticar Python e ver os resultados ali, na hora.

16 de setembro de 2010

Garanta o fechamento dos arquivos

Há alguns dias rolou uma thread interessante na lista Python Brasil sobre leitura de arquivos texto.

O Leonardo Santagada fez uma observação importantíssima a respeito de como devemos abrir e ler arquivos em Python.


A recomendação dele é abrir e ler arquivos usando o seguinte pattern:
with open('arquivo.txt') as arquivo:
    for linha in arquivo:
        print linha.strip()

Em seguida, o Carlos Ribeiro explicou o motivo disso:
Só pra complementar, seria bom explicar a razão por trás disso tudo... acho
que muita gente não sabe o motivo.

A forma "simplista" de abrir & ler o arquivo com "for linha in open('arquivo.txt')" sem fechar o arquivo explicitamente no final do loop funciona bem no CPython e por isso muita gente assume que vai funcionar em qualquer versão do Python. O que pouca gente sabe é que isso não é uma feature da classe "file", mas sim um "efeito colateral" do sistema de "garbage collection" ou "coletor de lixo".

Para piorar, o idioma simplificado foi amplamente divulgado durante vários anos como sendo a forma "pitônica" de fazer leitura de arquivos. Por isso muita gente ainda aprende este idioma como sendo o certo.

Explicando: no CPython, assim que a última referência para o objeto é destruída (o que acontece "automaticamente" na saída do "for"), o objeto que referencia o arquivo na memória é descartado *na hora* e como consequencia, o arquivo em disco é fechado.

Em outras versões de Python o coletor de lixo funciona de forma bem diferente e por isso, o arquivo pode ficar "pendurado", mantido aberto sem necessidade, até que o lixo seja coletado (o que em alguns casos pode ocorrer só no momento em que o script pára de rodar). O que o "with" faz é garantir que o arquivo seja fechado no final do bloco, independente da implementação do coletor de lixo. Por isso a sugestão do Leonardo é MUITO importante.

--
Carlos Ribeiro
Consultoria em Projetos
twitter: http://twitter.com/carribeiro
blog: http://rascunhosrotos.blogspot.com
Valeu pela aula, pessoal.

9 de setembro de 2010

Curso gratuito de Python em portugues no Youtube

O curso "Lógica de Programação Usando Python - Curso Completo" é uma iniciativa do prof. Ronaldo Ramos, do Instituto Federal de Educação Ciência e Tecnologia do Ceará.

No site do IFET-CE tem o índice com todas as aulas em vídeo, e também tem na página do autor, no Youtube.

Na data desse post (09/set/2010) constavam 21 aulas disponíveis.

Vale visitar o site deles, o Lambda, que fala sobre computação em vários aspectos.

3 de setembro de 2010

Aprenda Python de graça no Google e no MIT

Tem gente que ainda duvida que Python é uma linguagem muito usada.

Depois que li o texto Google Python Style Guide, tenho repassado para várias pessoas. Na seção "Background", está escrito que Python é a principal linguagem de script usada pelo Google. Vale lembrar que o Guido van Rossum, criador da linguagem, também trabalha lá.

Recentemente descobri que o Google disponibilizou gratuitamente o curso Google's Python Class, direcionado a iniciantes. É, "de grátis", 0800, sem custo, no horário que você puder. O conteúdo é muito bom, especialmente para quem nunca viu Python na vida. Se você preferir, faça o download do material completo do curso.

Tem também alguns cursos gratuitos muito bons do MIT. Sim, o Massachusets Institute of Technology. São eles:

Os vídeos você encontra no Youtube.

A desvantagem para alguns é que esses cursos são todos falados e escritos em inglês. Então aproveita e faz um curso gratuito de inglês da IBM.