O que iremos cobrir? |
---|
Vamos aprender mais uma forma de entrar nos programas Python, através de uma nova ferramenta. Vamos ver como usar as variáveis para guardar informações, para um uso futuro. E também iremos ver como se pode combinar uma sequência de comandos para por forma a executar uma determinada tarefa. |
O.k., agora que já sabemos como é uma sequência simples de comandos no Python, agora que já consideramos o que é data e o que podemos fazer com ela. Esta na hora de colocarmos comandos múltiplos no Python e ver o que acontece.
Mas antes de começar-mos. Se tiveres instalado o Python na sua versão 1.5.2 (podes ver isso, logo quando o Python inicia) deverás encontrar uma ferramenta chamada Idle instalada por default. O Idle é basicamente uma prompt de comando numa janela, e tem várias vantagens em relação a versão do DOS:
Em caso que estejas a usar o MS Windows, existe ainda uma outra opção, na forma de PythonWin do qual poderás fazer o download como parte do pacote Winall. Esta ferramenta irá dar-te acesso a toda a funções programação básica (low-level) do Windows MFC, e mais importante ainda, é o facto de uma ser muito boa alternativa ao Idle. Só funciona no Windows, mas na minha opinião é ligeiramente superior ao Idle, mas por outro lado o Idle é algo ainda recente e com novas versão a caminho poderá ultrapassar o Python Win. Mas independentemente que acontecer, é sempre bom ter uma escolha!
Uma das mais poderosas armas da programação, e geralmente aquele que os principiantes acham inútil. Estou a falar dos comentários. Comentários são linhas num programa que descrevem o que se esta passando. Não tem nenhum efeito directo na forma como o programa opera, são puramente decorativos. Mas no entanto, o papel deles é algo muito importante. Eles dizem ao programador o que se esta passando e mais importante o porquê. Isto torna-se muito mais importante quando o programador a ler o código não foi o que o escreveu, ou então já passou muito tempo desde que o programa foi originalmente escrito. Uma vez que te tornes num programador mais experiente, irás dar o verdadeiro valor aos comentários. Bom, mas a partir de agora irei começar a comentar os exemplos e gradualmente o texto de explicação irá desaparecendo, para deixar o seu lugar aos comentários.
Todas as linguagens tem uma forma de indicar qual o segmento que é um comentário. No BASIC é escrever REM no inicio da linha, então tudo resto segue depois é ignorado.:
REM print "Isto nunca há-de de aparecer"
print "Isto já aparece"
És capaz de reconhecer o termo REM, em caso que já tenhas escrito um ficheiro BACTH do MS DOS, porque identifica-se um comentário exactamente da mesma forma.
A maioria dos BASICs também podes utilizar o ' para identificar um comentário, é certo que torna as coisas mais fáceis na escrita, mas torna as coisa mais difíceis na leitura, pois é muito mais difícil de se ver.
Tanto o Python como o Tcl utilizam o símbolo # para dar inicio a um comentário:
v = 12 # atribuímos o valor 12 ao v x = v*v # x é o v ao quadrado
Propositadamente coloquei estes péssimos comentários. Mantém em mente que os teus comentários não se devem cingir em explicar o que o código faz, porque isso podemos ver por nós mesmos Eles devem explicar o porque que tal coisa esta acontecendo:
v = 3600 # 3600 é o número de segundos numa hora s = t*3600 # t é uma determinado período de tampo expresso em horas
Isto é uma forma muito mais útil de comentar.
Agora que já os conheces, escolhe a prompt dos teus sonhos e experimenta digitar o seguinte:
>>> v = 7
>>> w = 18
>>> x = v + w # podemos usar as variáveis para uma multiplicação
>>> print x
O que aconteceu aqui, foi que criamos umas variáveis (v, w ,x)e depois as manipulamos. Isto é muito semelhante ao utilizar do botão M das calculadoras.
Podemos tornar as coisas mais bonitas ao usar o format string para imprimir o resultado:
>>> print "A soma de %d e %d é: %d" % (v, w ,x)
Uma grande vantagem dos format string é que as podemos guardar em variáveis também:
>>> s = "A soma de %d e %d é: %d"
>>> print s % (v, w ,x) # muito útil quando queremos o mesmo output, mas com valores diferentes
Bem por estas alturas deves estar achar isto tudo muito simples e até um bocado obvio. Bem quanto ao facto de isto ser um bocado obvio até podes ter uma certa razão, mas olha que n ao é assim tão simples quanto parece. Podem existir muitas armadilhas escondidas. Não achas! Então considera um caso onde tu queres usas todos os headings de HTML sempre subindo um nível:
Em HTML os headings é o que esta em volta do texto
<H1>text</H1> para o nível 1 dos headings,
<H2>text</H2> parao nível 2 dos headings,
<H3>text</H3> para o nível 3 e por aí adiante.
Mas o problema é que quando chegas para aí ao nível 5 o texto do heading acaba por ser mais pequeno que o body text, fazendo que o texto no geral fique com um aspecto desagradável. O que te pode fazer decidir em ficar apenas por um nível. E relativamente fácil fazer as substituições com uma simples string num processador de texto onde irias substituir os '<H2' por '<H1' e '</H2' por '</H1' e por aí adiante.
Através do exemplo do HTML podemos ver que a ordem das coisas é realmente importante. O mesmo sendo verdade quando estamos a escrever um código de um programa).
Irei agora apresentar um exercício de programação que iremos desenvolvendo ao longo dos próximos capítulos. As soluções apresentadas irão gradualmente melhorando, a medida que formem aprendendo técnicas novas.
Lembras-te de que podemos inserir strings longas utilizando aspas triplas? Então vamos usa-las para a nossa tabuada:
>>> s = """ 1 x 12 = %d 2 x 12 = %d 3 x 12 = %d """ #cuidado para não colocares os comentários dentro >>> # das strings ou então eles irão fazer parte integrante e activa da string! >>> print s % (12, 2*12, 3*12)
Podíamos estender essa tabela e imprimir toda a tabela de multiplicação do 12. Mas existe uma forma bem mais agradável de fazer isso. Por isso digo, não percam o próximo capitulo.
Pontos a lembrar |
---|
|
Anterior  Próxima  Índice
Em caso que tenhas alguma dúvida ou queiras comentar esta página
envia-me um e-mail para:
babyboy@oninet.pt