Rodrigo Strauss :: Blog
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.
Já 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





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)