Aprenda Python - Guia "rápido"

Python é uma linguagem de programação poderosa, tanto que se você já desenvolve programas, provavelmente acharia interessante conhecer Python. Mas se você está começando agora a se aventurar pela programação, o mais incrível: Python, além de ser uma linguagem poderosa, também é muito fácil de aprender!

[ Hits: 119.205 ]

Por: Juliao Junior em 09/11/2007


Repetição e controle



Muitas vezes é preciso repetir ações durante a execução de um programa, ou tomar decisões. Em outras palavras, é preciso instruir ao programa, via código, que realize a mesma ação durante um certo número de vezes, ou até alcançar certa condição. Veja o exemplo abaixo, onde apresentamos um código que imprime os múltiplos, simultaneamente, de 3 e 4, e menores que 350.

>>> for MultTres in range(3,350): #inicia um 'loop', uma sequência de repetição, de 3 até 349.
... if (MultTres%3==0)and(MultTres%4==0): #testa se 'MultTres' é múltiplo de 3 e múltiplo de 4
... print MultTres, 'é múltiplo de 3 e 4, simultaneamente.' #imprime uma mensagem

Agora vamos comentar o curto código acima, mas bem instrutivo.

O operador módulo (%) retorna o resto da divisão entre dois valores. Por exemplo:

>>> 11%4
3

No código acima, se MultTres%3 retornar zero, então MulTres é múltiplo de 3. Similarmente para MultTres%4.

Em Python, quando você divide um número inteiro por outro inteiro, o resultado é novamente um número inteiro. Ou seja, você não receberá a resposta 'certa', apenas o inteiro mais 'próximo' dela. Veja:

>>> 14/3
4

Assim, para ter a resposta 'exata', use números de tipo 'float'. Em Python, você especifica este tipo usando um ponto após o número, como que indicando que ele possui casas decimais. Veja:

>>> 14/3.0
4.666666666666667

Aqui, como '3.0' é um float, Python entende que a resposta também deve ser do mesmo tipo.

Note agora a primeira linha. O uso de 'for' permite que um bloco de código seja repetido diversas vezes, enquanto a função 'range(3,350):' dá uma lista de inteiros começando em 3 e terminando em 349. Portanto, quando for desenvolver seus próprios programas, basta alterar os limites superior e inferior conforme a necessidade. Em nosso exemplo, a variável MultTres adquire, sucessivamente, os valores dos inteiros de 3 até 349, sendo estes valores usados pela instrução 'if' da linha seguinte.

Na segunda linha, temos a sequência 'if (MultTres%3==0)and(MultTres%4==0):'. Uma sequência 'if expressão' inicia um bloco chamado de 'bloco de controle', que é executado apenas se a expressão fornecida for verdadeira. Em nosso exemplo, a expressão é composta de dois testes 'conectados' pelo operador booleano 'and'. O operador 'and' conecta os dois testes, tornando a expressão total verdadeira apenas se os dois testes forem verdadeiros. O operador '==' é o teste para igualdade. Portanto, a expressão 'MultTres%3==0' testa se o resto da divisão de MultTres por 3 é igual a zero (ou seja, se é múltiplo de 3). Da mesma forma com 'MultTres%4==0'. Portanto, apenas se MultTres for múltiplo de 3 e de 4 simultaneamente, o teste será tomado como verdadeiro, e a terceira linha será executada.

A última linha do código apenas imprime uma expressão. O comando 'print' pode imprimir mais de um trecho, mas perceba que é necessário separar por vírgulas, como fizemos com a variável 'MultTres' e a frase 'é múltiplo de 3 e 4, simultaneamente.'.

Para estruturas de repetição, o comando 'for' não é o único disponível em Python. Temos, por exemplo, o comando 'while', que executa um bloco de código até que uma condição especificada seja alcançada. Veja o exemplo abaixo, de uma função que imprime os múltiplos de um número qualquer, menores que 1500.

>>> def imprimir(num):
... x=1
... y=1
... while(y<1500):
...             y=num*x
...             print y
...             x=x+1
...

Para testar o resultado, digite no terminal 'imprimir(75)'.

Página anterior     Próxima página

Páginas do artigo
   1. Início
   2. Funções
   3. Repetição e controle
   4. Listas
   5. Dicionários e arquivos
   6. Módulos e classes
   7. Sugestões finais
Outros artigos deste autor

Invadiram o kernel.org?!

Inkscape - Introdução (parte 1)

CSS - Manual de Estilo (parte 2)

Por que os GAMES não são a chave para o Linux em desktops

Blender - Iniciante (parte 1)

Leitura recomendada

Utilizando as bibliotecas do Java usando o Jython

Instalando um servidor Zope/Plone

Instalação Plone 2.5.5 com módulos customizados

wxPython, uma biblioteca GUI multi-plataforma (parte 1)

Utilizando o Python como calculadora

  
Comentários
[1] Comentário enviado por removido em 09/11/2007 - 09:45h

Cara, vou ser franco com você...

Já discordei de várias coisas que você disse aqui no site, mas nesse artigo tú representou!

excelênte...

Vou ainda mais além, seu artigo foi FÓDÃO!

Parabéns!

[2] Comentário enviado por horurs em 09/11/2007 - 11:30h

Otimo artigo!!

Principalmente para mim que to começando a aprender Python .


[3] Comentário enviado por galmeida07 em 09/11/2007 - 12:18h

Muito bom artigo, esclareceu várias dúvidas que eu tinha. Abraço!

[4] Comentário enviado por cristianodj em 09/11/2007 - 13:29h

Python 2.5.1 (r251:54863, May 2 2007, 16:30:05)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def MedCurso(total, numMaterias):
... notaMedia = total/numMaterias
File "<stdin>", line 2
notaMedia = total/numMaterias
^
IndentationError: expected an indented block
>>>

Cara, qual é o erro aqui?

[5] Comentário enviado por removido em 09/11/2007 - 16:37h

muito bom vai ajudar bastante. valeu cara

[6] Comentário enviado por david.kwast em 09/11/2007 - 19:06h

Sobre o erro:
____________________

>>> def MedCurso(total, numMaterias):
... notaMedia = total/numMaterias
File "<stdin>", line 2
notaMedia = total/numMaterias
^
IndentationError: expected an indented block
_______________________

O erro é justamente a identação, no python ela é obrigatória e responsável por deixar a linguagem se o uso de "{" e "}"
_______________________

>>> def MedCurso(total, numMaterias):
... <ESPAÇO>notaMedia = total/numMaterias
... <ENTER>
>>>

[7] Comentário enviado por juliaojunior em 09/11/2007 - 20:10h

Valeu, rodrigo.capelini.

É assim mesmo... Linux envolve paixão, e paixão faz cada um ver o mundo de uma forma totalmente diferente.

Mas estamos aqui para isso: gritar VIVA O LINUX!!!

[8] Comentário enviado por tenchi em 09/11/2007 - 23:54h

Introdução direta e fácil ao Python...
Já tá em favoritos...
Muito bom msm...

[9] Comentário enviado por thibireis em 11/11/2007 - 10:47h

Excelente arquivo rapaz! Muito obrigado pela sua contribuição!

[10] Comentário enviado por Teixeira em 11/11/2007 - 14:54h

Artigo muito bom.
Se toda a dificuldade do Phyton for realmente a identação, então está ótimo, pois isso é fácil de ser superado.
Toda linguagem de programação tem sempre algum item chato, como o ponto no Cobol, o hífen no Fortran, as toneladas de parênteses no Lisp, etc.
Assim no be-a-bá está parecendo muito prático. Vou procurar ler mais, especialmente no que diz respeito a programas extensos ou mais críticos.
Sds.

[11] Comentário enviado por juliaojunior em 11/11/2007 - 17:01h

Certamente, em qualquer linguagem os iniciantes encontrarão dificuldades. Python não é o Santo Graal da programação.

O importante, porém, é a facilidade que de forma geral é encontrada por quem está iniciando nesse caminho. Neste artigo, temos apenas uma viagem rápida pela linguagem. Detalhes sobre ela e aspectos avançados serão abordados em futuros artigos, o primeiro deles, inclusive, já está escrito.

[12] Comentário enviado por gersonraymond em 11/11/2007 - 17:53h

Ótima abordagem extremamente intuitiva, resumindo a definição ficou 100% prática e objetiva, parabéns.

[13] Comentário enviado por uili em 20/05/2008 - 11:34h

- __traceback_info__: ('D:\\Program Files (x86)\\Plone 3\\Zope\\Extensions\\metodo.py', 'metodo')
File "D:\Program Files (x86)\Plone 3\Zope\Extensions\metodo.py", line 11

writer = csv.DictWriter(dFile,["reg-email","reg-firstname","reg-lastname","reg-address"],\restval="000",extrasaction='ignore',delimiter='\t')

^

SyntaxError: invalid token
Alguem sabe onde ta o erro?
tutorial xou!!!

[14] Comentário enviado por locfree em 13/10/2008 - 21:30h

Caro amigo estou me aventurando no mundo linux a 6 meses, e gostaria de começar a aprender a programar via web,, nao conheço nada de programação, mas lendo algo sobre linguagem de programaçao ja havia me interessado sobre o Python, agora lendo seu artigo vejo que estou na linguagem certa !!



Att
Locfree

[15] Comentário enviado por andrelimatt em 22/10/2008 - 13:47h

Excelente artigo amigo,
Programo em Java mas a algum tempo venho querendo me aventurar em Python, e ainda não tinha achado nenhum material interessante sobre o assunto, depois desse artigo com certeza vou começar a brincar com essa linguagem.

Abraços

[16] Comentário enviado por gouken em 12/12/2008 - 11:50h

Cara, excelente artigo, sempre trabalhei mais com hardware e afins, é minha paixão, mas agora resolvi aprender alguma linguagem de programação para ser um profissional mais completo. Escolhi o Python pela facilidade dele e seu artigo está plenamente simples, direto e sucinto! Muito bom! Adionarei nos favoritos!

[17] Comentário enviado por fchevitarese em 23/01/2009 - 10:49h

Achei o artigo muito interessante para quem quer iniciar o python!!

Obrigado ;)


Fred Chevitarese - GNU/Linux

[18] Comentário enviado por fabioarnoni em 08/02/2009 - 12:34h

Parabéns cara !!!! Muito bom o artigo. Estou estudando Python na faculdade é as vezes alguns detalhes ajudam a entender melhor
como funciona a linguagem. É um ótimo artigo para iniciantes !
Abraços até mais !!!!

[19] Comentário enviado por ghregory em 13/05/2009 - 16:37h

Otimo pra mim que estou inciando Pyton ;]

[20] Comentário enviado por ramontcruz em 14/05/2009 - 15:29h

Maravilha de artigo!!
valeuzao!!!

[21] Comentário enviado por cabrulcs_ em 14/05/2009 - 22:53h

Bem, para programadores mais experientes e que querem aplicativos leves, nada melhor que C ANSI. Porém como o Python pode se utilizar de linhas de C no corpo do seu código-fonte, é muito interessante aprendê-la. Até porque ela é bem mais simples que C.

Ótimo artigo!!!

[22] Comentário enviado por Paro em 11/06/2009 - 23:49h

Excelente tópico!
Pesquisei bastante e escolhi o python como a minha primeira linguagem de programação.
Pesquisando no google conhecimento achei este tópico extraordinário, gostaria de dar os parabéns.
Já conhecia o site e já pesquisei muito aqui sobre linux quando instalei-o aqui em minha casa. Agora fiz meu cadastro, e
espero poder logo mais contribuir com todos meus conhecimentos adquiridos.

[23] Comentário enviado por felipemartinsss em 07/08/2009 - 16:05h

Bom artigo.
Estou querendo a aprender a mexer no Blender, e é possível criar jogos utilizando a Python API do Blender.
Não conhecia nada da linguagem Python, mas precisava aprender algo. Agora me sinto capaz de fazer alguma coisa com a linguagem já. É só usar esse manual como apoio.
Valeu

[24] Comentário enviado por tiagomb em 09/08/2009 - 14:05h

pode cre....muito bom artigo

valeu............

[25] Comentário enviado por gpr.ppg.br em 31/08/2009 - 11:41h

achei muito legal seu artigo.

dica para novos navegantes:

Bem-vindo — Associação Python Brasil
A Associação Python Brasil (APyB) foi formada em abril de 2007 com a meta de apoiar as comunidades relacionadas à linguagem Python e suas tecnologias ...
http://associacao.python.org.br

[26] Comentário enviado por fisicorj em 31/08/2009 - 14:38h

Muito bom artigo. Parabéns.

[27] Comentário enviado por diegofsouza em 05/10/2009 - 10:24h

Bom artigo. Python é muito legal, a próxima linguagem que vou investir.
Parabéns

[28] Comentário enviado por morvan em 08/10/2009 - 08:08h

Bom dia, juliaojunior.

O seu artigo está excelente. Gostaria somente de discordar de um enunciado seu, à guisa de esclarecimento:
"Em Python, variáveis não possuem tipos; uma mesma variável pode referir-se a um inteiro, em um momento, e a um número 'real' em outro, ou ainda a um caracter. Ainda mais: não é exigido a declaração de variáveis, embora não possa usar uma variável que ainda não possua um valor definido"...

Em Python as variáveis possuem tipo, sim. A linguagem Python é uma das linguagens de tipagem mais forte de que se tem notícia. Na verdade, por apresentar tipagem dinâmica, ou seja, você não precisa declarar as variáveis para utilizá-las, tem confundido muito as pessoas. A tipagem de uma linguagem pode ser fraca ou forte (exemplos: vb e Python, respectivamente.); pode ser estática ou dinâmica (exemplos C e Python, respectivamente idem).

No mais, o seu artigo é, como já reiterado por mim e por outrem, excelente. Didático e cativante.
Parabéns.

Morvan, usuário Linux #433640.


[29] Comentário enviado por Win7User em 17/12/2009 - 21:29h

Parabens Junior,
vou começar a mastigar phyton agora ,pois é um mecanismo muito importante para quem planeja desenvolver games no Blender 3D(já havia estudado algumas folhas há um bom tempo atras porém desisti do Blender 3D por um tempo assim migrando pro Lightwave 3D e automaticamente me desvinculando do Phyton e agora vou retomar os estudo ^^ , phyton.org é um link muito bom além de ser o oficial!
novamente parabens e abraços

[30] Comentário enviado por userheroin em 14/08/2012 - 14:17h

python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def medcurso(total, nummaterias):
... notamedia = total/nummaterias
... return (notamedia)
File "<stdin>", line 3
return (notamedia)
^
SyntaxError: invalid syntax
>>>

qual o erro ? eu dei Space no notamedia

[31] Comentário enviado por lksmodos em 17/02/2017 - 12:04h

Gostei muito do tutorial , mas a maioria dos links está off

[32] Comentário enviado por morvan em 23/10/2018 - 17:26h


[30] Comentário enviado por userheroin em 14/08/2012 - 14:17h
return (notamedia)
^
SyntaxError: invalid syntax
&gt;&gt;&gt;
qual o erro ? eu dei Space no notamedia


Userheroin, boa tarde. Eu usaria a sintaxe com o print:

print(notamedia);

E, além disso, veria a endentação. Ela, você sabe, é parte da sintaxe, em Python.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts