Curso de Python na UFMT - Terceira aula

11/04/2008

Primeiramente gostaria de pedir desculpas pela demora desse post e por não ter escrito nada essa semana. Mas foi semana de provas e quem é professor sabe como em uma semana assim o tempo é curto.

Mas, vamos falar da terceira aula do Curso de Python com ênfase em PyGame que ministrei na UFMT no dia 05/04.

Programação Orientada a Objetos

Eu comecei essa aula falando de Programação Orientada a Objetos em Python. Explicando a diferença entre classe e objeto, métodos, herança, polimorfismo, sobrecarga de métodos e etc.

Uma particularidade muito interessante é que aqui na região do sul de Mato Grosso, poucos programadores realmente programam utilizando a Orientação a Objetos. Então expliquei detalhadamente a utilidade de se utilizar a programação Orientada a Objetos.

PyGame

Depois de falar sobre orientação no final da aula eu falei sobre PyGame, e sobre desenvolvimento de jogos, lembrando que o PyGame é apenas uma ferramenta. Ou seja, aprender PyGame não fará você um 'mestre dos jogos' mas com ela poderá tornar-se um 'mestre'.

Mostrei como instalar o PyGame no ambiente Windows e começamos a ver como criar fundos para o jogo.

Na próxima aula, que ocorre amanhã veremos com mais detalhes a biblioteca.

Curso de Python na UFMT - segunda aula

30/03/2008

Ontem (30/03) aconteceu a segunda aula de Python que estou ministrando gratuitamente na UFMT.

Primeiramente eu ensinei como ter um ambiente de desenvolvimento para programar em Python no Windows usando NotePad++. E percebi que ensinar como preparar um ambiente de desenvolvimento é muito importante. Muitos dos que iniciam em Python não usam Linux (ainda) e também não sabem como configurar variáveis de ambiente entre outros passos que é necessário para ter um ambiente de desenvolvimento legal no Windows.

Depois de tudo instalado e configurado, resolvi passar uns exercícios para eles praticarem. Como na primeira aula os alunos viram quase toda a estrutura inicial da linguagem (string, comandos condicionais, laços de repetição, listas, dicionários ). Os exercícios que usei estão no wiki do PythonBrasil.

Na primeira aula percebi que muitos aprenderam o conteúdo rapidamente. Mas nessa segunda aula percebi que os alunos que não praticaram durante a semana, esqueceram muito do que foi passado.

Vejamos alguns exercícios passados:

Primeiro exercício

Quase todos conseguiram solucionar o primeiro exercício que era para ler duas strings, e exibir elas na tela e o tamanho delas na tela e informar se elas eram iguais e se tinham o mesmo tamanho.

Como muitos alunos vieram do C, eles ficaram surpreendidos ao ver que para comparar uma string com outra basta apenas usar o operador de comparação (==).

Nesse exercício alguns demoraram, mas todos resolveram.

Segundo exercício

O segundo exercício consistira em ler um nome e exibir na tela ao inverso e em maiúsculas.

Nesse exercício muitos resolveram rapidamente, mas quase todos chegaram a essa solução:

nome = raw_input('Digite seu nome:  ')

i = len(nome)
nome2 = ''
while i>=0:
    nome2 += nome[i]
    i -= 1
print nome2.upper()

Alguns chegaram a uma solução mais pythônica, que a meu ver é a solução ideal:

nome = raw_input('Digite seu nome: ')
print nome[::-1].upper()

Nesse post eu não vou falar sobre a maneira pythônica de se escrever um código, vou deixar isso para um outro post. Mas eu fiquei bem surpreso a ver que teve alunos que chegaram a solução acima.

Depois de mais alguns exercícios, comecei a passar conteúdo novo: funções. Chegamos a ver quase tudo sobre funções em Python: declaração, parâmetros, parâmetro padrão, recursividade, escopo, lambda, generators e etc.

Próximas aulas

Para finalizar, como o curso ainda terá mais três aulas que consistirá em praticar o que foi feito, veremos também orientação a objetos e para finalizar veremos PyGame. Eu deixei que eles escolhessem entre Django, PyGtk ou PyGame. Mas a maioria escolheu PyGame.

Quanto ao material eu ainda estou formulando ele para disponibilizar aqui no site. Quando estiver pronto eu publico o link aqui no blog para todos lerem.

Qual o melhor serviço de hospedagem para Django?

29/03/2008

A pergunta que está no título desse post é uma das principais perguntas de quem desenvolve para web utilizando o Django .

Eu lembro que quando comecei a utilizar o Django eram poucas hospedagens onde era permitido instalar o mesmo. Mas por sorte ( ou azar ) eu encontrei uma empresa de serviços de hospedagem com muitos privilégios por um preço bem pequeno. Parecia um 'sonho de hospedagem'.

Mas após alguns meses de utilização quando tive um problema com uma instalação de um aplicativo em Django nessa hospedagem, eu soube que ela não da suporte a Django e sim aceita o uso dele em seus servidores.

Hoje há muitos serviços de hospedagem que aceitam o Django , mas, nem todos dão suporte à ele, dificultando ainda mais a escolha de um serviço ideal.

Inspirado por esse dilema, foi criado o site Djangofriendly onde contém uma lista de hospedagens com a descrição e preço de cada um. Onde o desenvolvedor também pode se cadastrar e votar positivamente ou negativamente contra uma hospedagem e se quiser pode deixar comentários.

Para não ter seu 'sonho' transformado em pesadelo, consulte o Djangofriendly antes de contratar um serviço de hospedagem.

'Python' is not 'Phyton'

28/03/2008


Grafia

Devido a grande ocorrências de artigos onde o nome da minha linguagem preferida foi escrito errado, resolvi criar esse post como uma forma de protesto e informação.

Não é necessário digitar o comando abaixo para saber que P-Y-T-H-O-N é diferente de P-H-Y-T-O-N. Mas é frequente os artigos onde essa troca acontece.


>>> 'PYTHON' is not 'PHYTON'
True


Creio que o nome da linguagem não é escrito errado de propósito, provavelmente ou foi falta de atenção ou falta de conhecimento. Mas o erro foi feito.

E esses erros de grafia não se limitam apenas em Phyton se procuramos no Google vamos encontrar Pyton, Piton, Pitón entre outros similares.

Vamos tentar ( eu também não estou livre de erros ) escrever Python corretamente ok?

Para os mais interessados, o Marco André também em protesto escreveu um ótimo artigo falando sobre a origem e a grafia da linguagem Python. E lendo esse artigo você descobrirá porque a linguagem tem o nome Python.

Pronúncia

Um outro erro grave é a pronúncia. É comum ouvir piton, pitón, faiton entre outras formas de tentativas de pronuncia para a palavra Python. Mas se recorrermos a alguns vídeos de palestras ou ao FAQ do site PythonBrasil, descobriremos que:

'Deve-se dizer "Páifon", lembrando que "th" pronuncia-se colocando a língua entre os dentes e emitindo um som de "f". "Páiton" também é uma pronuncia aceitável.'

Update: O Marco André, sugeriu nos comentários um ótimo link onde é possível ouvir a pronúncia da palavra Python.

Então fica a dica para quem escreve artigos, tutoriais e etc. Python não é Phyton. E para quem quer pronunciar a palavra Python sem passar vergonha lembre-se Python (Páiton) não é Píton.

Curso de Python na UFMT - primeira aula

24/03/2008

Começou no sábado dia 22/03 um curso gratuito de Python que tem duração de 5 sabádos na Universidade Federal do Mato Grosso (UFMT).



No primeiro dia de aula, teve a presença de 22 pessoas. Entre as pessoas haviam alguns amigos meus e entre eles o Helder do xbilidade.net.



O andamento da turma na primeira aula foi muito bom. Foi possível ensinar todos os conceitos básicos da linguagem com estrutura de controles e ainda trabalhar a fundo com strings, listas e dicionários. Se continuar nesse ritmo será possível passar mais conteúdo do que eu tenho planejado e isso é muito bom!



Mas esse foi apenas o começo!

andrewsmedina.com 2010. todos os direitos reservados.