logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog

follow us in feedly

Tutorial informal de Python, parte 1

Esse tutorial informal é voltado para programadores que querem conhecer melhor o Python. Meu intuito é ajudar esses programadores a decidirem se será de alguma valia estudar Python e se existe algum projeto onde a linguagem será útil.

expliquei porque tenho usado Python. E não se esqueçam, não foi por causa da performance (já expliquei isso). O próprio C# é mais rápido que Python na maioria das vezes, mas meu foco nesse ponto é produtividade. O Python tem vários defeitos inerentes à sua arquitetura (fonte sempre aberto, bugs que aparecem em runtime por não existir tipagem, entre outros) mas é o preço que foi pago pelas qualidades.

Caso você queria começar a programar em Python, você só precisará da distribuição padrão baixada do python.org. Se você usar o Windows, baixar o PyWin32 também ajuda, já que com ele vem uma IDE com code completion, debug integrado e mais algumas facilidades. Se você precisa saber mais detalhes sobre o funcionamento do Python, o Google e a Wikipedia são seus amigos. Não pretendo reproduzir nessa série esses detalhes, quero me ater ao código e ao uso prático do Python o máximo possível.

Uma grande vantagem do Python é o console, onde você escreve e testa código sem o ciclo mudar-compilar-debugar. Em alguns exemplos de código, quando possível, vou usar somente o console. Isso será claro pelo aparecimento do prompt do Python (">>>") no início da linha, como nesse exemplo:

>>> a = 10
>>> print a
10
>>> print b
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'b' is not defined
>>> 

Uma das características marcantes do Python é que os blocos são determinado pela identação, não existe nada como END IF ou }. Bom (mantém o código legível) ou ruim (espaço e tab não são visuais), é assim que é. Nesse exemplo não usarei o console do Python, o que pode ser notado pela falta do prompt:

a = 1
b = 5
 
while b != 0:
   b -= 1
   for x in range(5):
      print x, '-',
      a+= 1
      if a == b:
         print 'sim, é igual'
      else:
         print 'não é igual, a = %d e b =%d' % (a,b)
 
print 'fim, isso não está dentro do for ou do while. O valor de b é %d' % b

Vamos aproveitar o trecho de código acima para explicar com as coisas básicas funcionam:

  • As variáveis não têm tipo definido (mas o valor que referenciam tem), mas precisam ser atribuídas antes de serem usadas.
  • Não existe operador de pós ou pré incremento, a++ não funciona.
  • Instruções de fluxo como if, for e while não necessitam de parênteses nas expressões sendo testadas, mas precisam de dois pontos (':') no final.
  • print é uma instrução (isso será mudado no Python 3000).
  • Formatação de strings à la printf é um recurso nativo, uma expressão str % (param0, param1, ...) faz o serviço. Isso não é um recurso do print, str = 'número %d' % 10 também funciona. Como nesse exemplo, os parênteses pode ser omitidos no caso de um parâmetro somente
  • Atribuição ('=') é diferente de comparação ('==').
  • Não existe for da mesma forma que as linguagens derivadas do C, o for é usado somente para enumeração. A função range retorna uma lista (mais sobre isso depois) com números seqüenciais para simular esse comportamento. for x in range(10) é mais simples do que for(x = 0 ; x < 10 ; ++x). Para contadores que não são simplesmente somados, o range suporta mais parâmetros e existem outros recursos igualmente simples para isso.

Em 31/05/2007 21:14, por Rodrigo Strauss


  
 
 
Comentários
Walter Cruz | website | em 31/05/2007 | #
print já funciona como uma função hoje em dia :)

(não sei se eu boiei, mas eu escrevi 'vinte e seis' - talvez a pergunta não esteja muito clara, ou talvez eu apenas esteja com muito sono)
Israel Agoeiro | website | em 25/01/2010 | #
Muito obrigado pela lição.
Luiz | website | em 19/06/2014 | #
Adorei o seu site e gostaria que voce pudesse indicar algum livro bom para quem esta iniciando em python.
Desde ja agradeço abraço e sucesso.
Algo a dizer?
Nome:


Site:


E-mail:


Escreva o número vinte e seis:


 Não mostre meu e-mail no site, não serve pra nada mesmo...

Comentário





Os comentários devem ser sobre assuntos relativos ao post, eu provavelmente apagarei comentários totalmente offtopic. Se quiser me enviar uma mensagem, use o formulário de contato. E não esqueça: isso é um site pessoal e eu me reservo o direito de apagar qualquer comentário ofensivo ou inapropriado.
rebarba rebarba
  ::::