18 de novembro de 2008

Curso online de Python na Visie

Eu sou cadastrado no campus online da Visie porque eles têm bons materiais.

Lá, eles disponibilizaram algum material gratuito e introdutório sobre Python.

Eu gosto da forma como eles passam conhecimento. São diretos e práticos.

Acho que vale a pena, se você for iniciante ou quiser aprender aguma coisa de Python.

10 de novembro de 2008

Transformando string delimitada em uma lista

Outro dia eu recebi uma mensagem que tinha um monte de gente copiada. Daí eu pensei: "eu podia pegar esse monte de e-mails e transformar numa lista, né?"

Então esse é o meu exercício de hoje: pegar uma string delimitada e transformar numa lista.

É claro que podem existir várias formas de fazer isso, mas eu gostaria da ajuda de vocês para escolher a maneira mais pythônica de fazer isso.

Para dar um toque de realidade, eu resolvi ler o monte de e-mails de um arquivo texto e carregar a tal lista. Lembre-se que em uma linha do arquivo, existirão vários endereços de e-mail delimitados por um ponto-e-vírgula.

Segue abaixo o modo como eu resolvi esse problema:


'''Transforma string delimitada em lista'''

print __doc__
f = open('emails.txt')

emails = []
for linha in f:
emails.extend(email.lower().strip() for \
email in linha.split(';'))
f.close()

emails.sort()
for email in emails:
print email


Será que esse é realmente o melhor modo de resolver essa questão?
A misturada de coisa que eu fiz nas linhas 8 e 9 é uma boa forma de fazer um list comprehension?
E o encadeamento dos métodos lower() e strip() ficaram bons?

Particularmente, me pareceu um pouco javânico e perlínico!
Em python seria essa a forma aconselhável de fazer? Ou será que criei um monstrinho?

Sugestão do Elcio Ferreira em 13/11/2008: http://pastie.org/314379
De todas as sugestões que recebi, eu achei essa do Elcio a forma mais compacta de resolver esse problema. Apesar de achá-la um pouco complicada para iniciantes, eu a escolhi por ter vários conceitos em tão pouco código.
Eu consegui ver como um código pode ser pequeno pode abrir e ler um arquivo tranformando-o em uma string (read()). Como também pode transformar uma string em lista (t.replace("\n",";").split(";")). Gostei também da forma de mostrar a lista: print "\n".join(sorted(emails))

Adicionado em 16/11/2008: Apesar de eu ter escolhido essa alternativa, veja o que rolou nessa thread na lista Python Brasil. Principalmente se você é iniciante. A contribuição do Osvaldo Santana me fez abrir a cabeça para alguns detalhes que eu não havia previsto. A do Paul Eipper mostrou que meu exemplo também poderia ser mais resumido um pouco.
Obrigado pela ajuda de vocês. O newbie aqui tá aproveitando prá caramba! ;-)


Me ajuda aí.

Contribua se você tem alguma informação adicional sobre esse assunto ou se encontrou um erro nesse programa. Afinal, ninguém é perfeito, né?
Comente também se esse exemplo ajudou a você de alguma forma. É gratificante saber. :-)
Não deixe de avisar se você encontrou alguma falha de iniciante que precisa corrigir ou melhorar, pois estou aprendendo. Isso ajuda bastante.

Abraço.

6 de novembro de 2008

Curso Python - UFRJ

Essa vida de blogueiro de nicho é muito legal.

Depois que lancei o Aprenda Python, já conheci algumas pessoas por e-mail.
Tenho conversado com elas, trocado experiências e conhecido um pouco mais sobre o mercado de Python.

A partir de uma pergunta do Zezim (do Versão Própria), já até surgiu uma idéia de um utilitariozinho em Python. Vamos ver, se eu conseguir posto aqui. Se não conseguir, vou pedir ajuda aqui também. :-)

A partir desses contatos, a Krix Apolinário mandou o link de um mini-curso de Python do Laboratório de Computação Gráfica da UFRJ, ministrado pelo prof. Claudio Esperança.

Que tal experimentar? ;-)

Não esqueça de dizer sua opinião, viu? Certamente vai ajudar os iniciantes.

Curso online de Python (em português)

O Evaldo Junior Bento resolveu dar uma mãozinha para quem está aprendendo Python e montou um curso online semanal.

As aulas são postadas no blog dele todo final de semana.

Veja a página de anúncio do Curso online e interativo de Python.

Acho que vale a pena acompanhar.

3 de novembro de 2008

Siga o tutorial

Eu resolvi dar um tempinho nos exemplos e ficar sem postá-los para poder seguir o tutorial de Python, conforme a indicação de algumas mensagens que leio na lista python-brasil.

Puxa, eu deveria ter feito isso desde o início!

Então, fica a dica para quem é iniciante (mas acha que não é): siga o tutorial do início até o fim. Você não vai se arrepender!

Siga o tutorial em inglês ou em português (PDF).