Python – Introdução

Introdução

O Python é, como o seu autor diz, uma linguagem de programação interpretada, interactiva, orientada a objectos e dinâmica.

Ao contrário de muitas outras linguagens de programação, a delimitação dos blocos de instruções é feita por alinhamento (indentação), ou seja, não há delimitadores como o begin e end do Pascal, ou { e } da linguagem C. Além disso oferece tipos de dados de alto nível como strings, dicionários, listas, tuplas, classes, etc.

A sintaxe é fácil de compreender e domina-se rapidamente, sendo essas duas características consideradas grandes vantagens da linguagem.

Python é, em vários aspectos, semelhante a outras linguagens interpretadas como Perl e Ruby.

Características do Python

  • Sintaxe simples;
  • Fácil e rápida aprendizagem;
  • Grátis e de código aberto;
  • Linguagem de alto nível e interpretada;
  • Portável;
  • Orientada a objectos;
  • Extensível;
  • Bibliotecas extensas;
  • Excelente suporte e documentação.

Áreas de aplicação

  • Desenvolvimento de aplicações Web;
  • Acesso a bases de dados;
  • Interfaces gráficas;
  • Aplicações científicas e numéricas;
  • Educação;
  • Programação de redes;
  • Desenvolvimento de software;
  • Jogos e gráficos 3D.

Começar a programar

Antes de tudo, vamos instalar o interpretador da linguagem Python que pode ser obtido na página oficial da linguagem (http://www.python.org). A versão que vamos utilizar ao longo deste artigo é a 2.5 (a última versão estável na altura da escrita do artigo). Se estiver em ambiente Windows basta fazer a transferência do executável de instalação (http://www.python.org/ftp/python/2.5/python-2.5.msi), quem estiver em ambiente Linux ou semelhante tem uma grande probabilidade de já possuir o interpretador instalado, caso não tenham aproveitem agora para o instalar.

Vamos agora ver como executar o primeiro programa em Python, o tradicional Hello World.

Existem dois métodos para o fazer, usando o interpretador interactivo ou um código fonte externo. A vantagem do interpretador é que não têm de gravar e voltar a executar um ficheiro sempre que fazem uma modificação. Mais à frente vamos utilizar ficheiros com o código fonte, pois assim que encerram o interpretador este não grava o que escreveram, sendo por isso útil apenas para perceber como a linguagem funciona e não para escrever programas complexos.

Para iniciar o interpretador pela linha de comandos ou consola basta escrever python seguido de Enter. Assim que o fizerem vão ser apresentados com o seguinte (pode ser ligeiramente diferente dependendo do vosso sistema operativo):

Python 2.5 (r25:51908, Oct  6 2006, 15:22:41) 
[[GCC|4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu4)]] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Para fechar o interpretador basta pressionar CtrlZ seguido de Enter em Windows, ou CtrlD em Linux.

Para aqueles que não se sentem confiantes a trabalhar em linha de comandos, o Python também vem com uma interface gráfica que pode ser usada para programar tanto no modo interactivo como com ficheiros de código fonte. Esta ferramenta chama-se IDLE (Integrated DeveLopment Environment) e é fornecida com a instalação base do Python. Se durante a instalação pediram ao instalador para criar atalhos no menu Iniciar então podem seguir por esse caminho. Caso não tenham instalado atalhos, o IDLE encontra-se em <pasta de instalação do Python>Libidlelibidle.pyw.

Agora que temos o interpretador iniciado vamos começar a escrever alguns programas. Sempre que o interpretador mostrar >>> significa que está pronto a receber instruções.

Para começar vamos introduzir a instrução print 'Hello World'. Como devem ter reparado assim que pressionaram a tecla Enter o Python avaliou o que introduziram e efectuou a devida instrução (escreveu Hello World numa linha). Assim que acabou de o efectuar voltou a mostrar os >>>, significando que está pronto a receber novas instruções.

O comando print serve para escrever algo na linha de comandos. No exemplo anterior escrevemos uma string mas também podemos escrever listas, tuplas entre outros tipos de dados que vamos conhecer agora.

Tipos de dados

Em Python existe uma enorme variedade de tipos de dados. Este facto aliado ao facto de ser uma linguagem dinâmica oferece uma enorme flexibilidade ao programador. Entre eles estão números, strings (sequência de caracteres), listas (arrays), tuplas, dicionários (arrays associativos), objectos, etc…

Os números subdividem-se em quatro tipos: os inteiros (integers), os inteiros grandes (long integers), os números fraccionários (floating point) e os números complexos (complex numbers). A seguir apresentam-se alguns exemplos de operações com números:

>>> 5+5
10

Neste caso juntamos dois números inteiros sendo o resultado outro inteiro. Também se podem realizar outras operações:

>>> 2.5*2
5.0

Como viram multiplicamos um número fraccionário por um número inteiro sendo o resultado um número fraccionário. Atenção que para o interpretador 5 não é o mesmo que 5.0.

>>> 2**3
8
>>> pow(2, 3)
8

Como já devem ter percebido o símbolo ** significa elevar, neste caso elevamos o número 2 ao cubo. Aproveitamos também para apresentar o uso de funções, neste caso a função pow(x, y), sendo x e y os chamados argumentos da função ou seja, os dados que fornecemos à função. Este tema irá ser abordado mais adiante quando começarmos a criar as nossas próprias funções.

>>> 10/3
3
>>> 10.0/3
3.3333333333333335

Quando se dividem dois inteiros o resultado é um inteiro, mas quando se misturam inteiros com fraccionários, o resultado é um fraccionário, convém ter este facto em atenção já que é um erro frequente.

Outra função a conhecer é a type() que permite saber o tipo de dados com que estamos a lidar:

>>> type(5)
<type 'int'>
>>> type(5.0)
<type 'float'>
>>> type(?Hello?)
<type 'str'>

As strings como já foi dito são cadeias de caracteres ou seja podem conter números, letras e símbolos, e o seu conteúdo está sempre limitado por aspas ou plicas:

>>> 'Python'
'Python'
>>> "Portugal"
'Portugal'
>>> """Python
... Portugal
... P@P"""
'Python\nPortugal\nP@P'

Esta última string construída por três aspas é considerada uma string de várias linhas, reparem que quando iniciamos a string e damos um Enter o interpretador passa automaticamente para a linha seguinte mostrando ... em vez das habituais >>>. Outro pormenor interessante é que a string final devolvida pelo interpretador tem apenas uma linha aparecendo o \n (new line) sempre que ocorre uma mudança de linha. Também podemos mudar de linha manualmente sem usar este último tipo de strings:

>>> 'Python\nPortugal'
'Python\nPortugal'
>>> 'Triton'Portugal'
  File "<stdin>", line 1
    'Triton'Portugal'
                   ^
SyntaxError: invalid syntax

Ups… outro pormenor interessante sobre as strings que ainda não foi referido. Como fazemos se quisermos usar aspas ou pelicas dentro de uma string? Se usarmos assim sem mais nem menos o interpretador confunde-se, não sabendo onde acaba a string, mas se usarmos tipos diferentes de pelicas no conteúdo das que usamos para limitar a string então já funciona:

>>> "Triton ' Portugal"
"Triton ' Portugal"
>>> 'Triton " Portugal'
'Triton " Portugal'
>>> """Triton \'" Portugal"""
'Triton '" Portugal'

Neste último caso podemos ver como é que o Python representa a pelica numa string. Usamos o chamado caracter de escape, a barra para a esquerda para representar os tais caracteres não permitidos normalmente ou caracteres especiais (\n).

>>> print "Triton \"  Portugal"
Triton "  Portugal
>>> print "Uma barra \\"
Uma barra \
>>> "abc".upper()
'ABC'

No primeiro exemplo usamos uma aspa no meio de uma string limitada pelo mesmo tipo de aspa. Para isso fazemos o escape da aspa, usando para isso o \". Para fazemos escape à barra usamos duas barras, como se verifica no segundo exemplo.

As strings apresentam um conjunto de métodos que podemos utilizar, como fizemos no último exemplo, chamando o método upper() que faz com que a string seja convertida para letras maiúsculas.

Para conhecer os métodos de qualquer tipo de dados usa-se a função dir(), por exemplo, dir('Foo') vai mostrar todos os métodos da string, ou ainda melhor vamos à documentação oficial da linguagem (http://www.python.org/doc).

Publicado na edição 6 (PDF) da Revista PROGRAMAR.