Introdução a Python - Parte 1
Referências
- Site oficial Python
- Site com documentação sobre Python
- Tutorial sobre Python para iniciantes
- Um blog sobre Python (Hélio Loureiro)
- Python para Zumbis: um curso online gratuito
- BeautifulSoup: uma API para extrair informações de documentos web
- Site oficial Pygame
- Invent with Python: um livro online gratuito sobre Python e Pygame
- The Python Game Book
Parte 1: Introdução à linguagem Python
Um primeiro exemplo
Qualquer tutorial de programação que se preze inicia com um exemplo do tipo Hello world !. Pois bem, em Python isso pode ser feito assim:
print('Hello world !')
Para executá-lo, há pelo menos duas maneiras:
- Usando o prompt do interpretador Python: isso é parecido com o uso do shell em um terminal.
- Em um terminal execute o interpretador Python:
$ python3 Python 3.4.3 (default, Sep 14 2016, 12:36:27) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
- No prompt do interpretador digite a instrução para mostrar o Hello world ! e em seguida tecle ENTER:
>>> print('Hello world !')
- Você deve ver na tela o resultado:
>>> print('Hello world !') Hello world ! >>>
- Em um terminal execute o interpretador Python:
- Criando um arquivo de script: um script é um programa executado por meio de um interpretador. Se a instrução para o Hello world ! for gravada em um arquivo da maneira mostrada a seguir, esse arquivo pode ser considerado um programa Python. Sendo assim:
- Crie o arquivo hello.py com seu editor favorito, e nele grave este conteúdo:
#!/usr/bin/python3 print('Hello world !')
- Ative a permissão de execução do seu arquivo hello.py:
chmod +x hello.py
- Por fim, execute o programa hello.py:
$ ./hello.py Hello world ! $
- Crie o arquivo hello.py com seu editor favorito, e nele grave este conteúdo:
Um pouco de história
- Belo é melhor que feio
- Explícito é melhor que implícito
- Simples é melhor que complexo
- Complexo é melhor que complicado
- Plano é melhor que aninhado
- Esparso é melhor que denso
- Legibilidade é importante
- Casos especiais não são especiais o suficiente para quebrar as regras
- Embora praticidade vença pureza
- Erros nunca deveriam passar silenciosos
- A não ser que explicitamente silenciados
- Em face a ambiguidade, recuse a tentação de adivinhar
- Deveria existir uma, e preferencialmente somente uma, maneira óbvia de fazer
- Embora essa forma possa não ser óbvia de primeira, a não ser que você seja um holandês
- Agora é melhor que nunca
- Embora nunca é frequentemente melhor do que agora mesmo
- Se a implementação é difícil de explicar, é uma má ideia
- Se a implementação é fácil de explicar, pode ser uma boa ideia
- Namespaces são uma grande e sonora ideia -- vamos fazer mais desses !
Uma simples (?) aplicação
Existem muitas possíveis aplicações que podem ser criadas com Python. Portanto o critério para escolher uma aplicação como tema para guiar esta introdução à linguagem é um tanto arbitrária. Nem por isso o programa a ser apresentado deixa de ser interessante. Afinal, o principal ponto é demonstrar como se pode criar com facilidade uma aplicação que faz uma tarefa não tão simples.
Imagine que seja necessário ter um programa que extraia automaticamente imagens existentes em páginas web. Esse programa basicamente acessa uma URL, e no documento web lá existente ele procura por imagens e as transfere para o computador. Esse programa precisaria do seguinte:
- Uma forma de obter o conteúdo de uma página web, dada sua URL.
- Identificar todas as referências a imagens contidas nessa página.
- Transferir cada uma das imagens para o disco local.
A primeira versão dessa aplicação pode ser vista a seguir:
#!/usr/bin/python3
import sys
from bs4 import BeautifulSoup
from urllib import request
url = sys.argv[1]
con = request.urlopen(url)
dados = con.read()
con.close()
parser = BeautifulSoup(dados, 'lxml')
imagens = parser.find_all('img')
for img in imagens:
print(img['src'])
sys.exit(0)