Dentre as inúmeras linguagens de programação existentes no mercado, você pode se questionar: “por que aprender Python?”. Primeiramente, porque essa linguagem é mantida por uma grande comunidade tanto no Brasil quanto no exterior. Além disso, muitos desses usuários são da área científica e trabalham arduamente na construção de módulos para que o Python realize as suas tarefas do modo mais eficiente possível. Diretamente relacionado, outro diferencial está na quantidade de módulos e bibliotecas disponíveis.

O Python é projetado para ser legível, de fácil manutenção e com suporte avançado a mecanismos de reutilização de software. Além disso, a maioria dos programas pode ser executada nas principais plataformas, ou seja, portar um código do Windows para o Linux, por exemplo, é apenas uma questão de copiar o código e executar no outro ambiente. A linguagem conta, ainda, com uma grande biblioteca padrão, que oferece recursos para a realização das principais tarefas comuns no desenvolvimento de software, e pode também ser estendida através de bibliotecas de terceiros.

Para conhecer os princípios que fundamentam o funcionamento dessa linguagem, criada por Guido Van Rossum, execute o seguinte comando no interpretador Python e visualize um “Easter Egg” com essas informações:

import this

Download do Python

Quando um programa é escrito em Python, se faz necessária a utilização de um interpretador, que lê o código fonte, analisa e interpreta as instruções em tempo real. Para instalar o Python em sua máquina, faça o download do Python na página oficial.

A instalação é composta de por um interpretador, as bibliotecas padrão da linguagem e sua documentação. Dependendo da plataforma, a execução do interpretador pode variar. Para usuários Windows, o interpretador pode ser executado via prompt de comandos ou através da interface IDLE (Python GUI), disponível no menu de programas ou na pasta de instalação. Por outro lado, os usuários do Linux e MacS já têm o Python pré-instalado em seus computadores.

Executando o interpretador pelo prompt de comandos

Uma das formas mais simples de rodar programas em Python é digitar seu código na interface de linha de comando interativa, ou “Shell do Python”. Para isso, acesse o menu Executar do Windows e digite python. Em seguida, você deverá ver uma janela com a informação sobre o compilador e a versão nas linhas 1 e 2, conforme mostra a Listagem 1.

  1 Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25:23) [MSC v.1600 64 bit (AMD64)]    
  2 on win32
  3 Type "copyright", "credits" or "license()" for more information.
  
Listagem 1. Mensagens do prompt interativo (Shell)

Também é possível encontrar o Python por meio do prompt de comandos do próprio Windows, digitando python. Usuários do Mac OS, por sua vez, podem acessar o interpretador após navegar pelo menu Aplicativos > Utilitários > Terminal e digitar esse mesmo comando. No Linux, o mesmo pode ser feito em uma janela do terminal. Na Listagem 2 é possível ver a execução de um Hello world na linha 1, a execução de uma expressão matemática na linha 3, assim como o seu resultado na linha 4.

  1 >>> print('Hello world')
  2 Hello world
  3 >>> print(2**3)
  4 8
  5 >>>
Listagem 2. Exemplos de comandos Python no prompt

A Figura 1 apresenta a execução dos mesmos comandos na interface IDLE, que acompanha a instalação do Python.

IDLE Python GUI
Figura 1. IDLE (Python GUI)

Variáveis no Python

Assim como em outras linguagens, o Python pode manipular variáveis básicas como strings (palavras ou cadeias de caracteres), inteiros e reais (float). Para criá-las, basta utilizar um comando de atribuição, que define seu tipo e seu valor, conforme vemos no código abaixo:

  1 >>> mensagem = 'Exemplo de mensagem!'
  2 >>> n = 25
  3 >>> pi = 3.141592653589931
  

Nesse trecho foram feitas três atribuições. Na linha 1, foi atribuída uma string para uma nova variável chamada mensagem. Na linha 2, foi atribuído o valor inteiro 25 para n, e na terceira linha, foi atribuído um valor decimal para a variável pi.

Observe que não foi necessário fazer uma declaração explícita de cada variável, indicando o tipo ao qual ela pertence, pois isso é definido pelo valor que ela armazena, conforme demonstra a Listagem 3.


  1 >>> type (mensagem)
  2 <class 'str'>
  3 >>> type (n)
  4 <class 'int'>
  5 >>> type (pi)
  6 <class 'float'>
  7 >>>
Listagem 3. Analisando o tipo das variáveis

Nesse código, a linha 2 indica que a variável pertence à classe string, enquanto a linha 4 representa a classe de inteiros. Por sua vez, a sexta linha indica que a variável pi pertence ao tipo float.

Para exibir o conteúdo dessas variáveis, utilizamos o comando de impressão print, de acordo com a Listagem 4.

  1 >>> print(mensagem)
  2 Exemplo de mensagem!
  3 >>> print (n)
  4 25
  5 >>> print (pi)
  6 3.141592653589931
Listagem 4. Imprimindo valores

As variáveis podem ser nomeadas conforme a vontade do programador, com nomes longos, contendo letras e números. No entanto, elas devem, necessariamente, começar com letras minúsculas.

É importante também estar atento às palavras reservadas da linguagem (Figura 2), que não podem ser utilizadas para nomear variáveis.

Palavras reservadas
Figura 2. Palavras reservadas

Comandos no Python

Um comando é uma instrução que o interpretador Python pode executar. Quando um comando é digitado no console, o Python o executa e mostra seu resultado, caso haja algum valor a ser exibido. O resultado do comando print, por exemplo, é a impressão na tela do conteúdo que lhe é informado. Na Listagem 5 vemos alguns exemplos de uso.

  1 mensagem = 'Exemplo de mensagem'
  2 n = 25
  3 print (mensagem)
  4 print (n)
  5 print(n**2)
Listagem 5. Exemplo de script

O comando exec, por sua vez, é uma forma de executar o código armazenado em arquivos. O script da Listagem 5, por exemplo, poderia ser executado a partir de um arquivo separado ao utilizar o comando demonstrado na linha 1 da Listagem 6.

  1 >>> exec(open('script0.py').read())
  2 Exemplo de mensagem
  3 25
  4 625
  5 >>> 
Listagem 6. Resultado do script

Operadores

Operadores são símbolos que representam operações matemáticas. Os principais são: +, -, *, / e **, que representam, respectivamente, adição, subtração, multiplicação, divisão e exponenciação. O código a seguir demonstra um exemplo de multiplicação entre horas e segundos:

  1 >>> hora=60
  2 >>> segundos=60
  3 >>> print ('1 hora contém: ',hora*segundos,'segundos')
  4 1 hora contém:  3600 segundos
  

Quando a expressão utiliza mais de um operador, a linguagem levará em consideração a regra de precedência, semelhante ao que ocorre na matemática convencional. Sendo assim, parênteses têm a maior precedência e podem ser utilizados na expressão para produzir um resultado desejado, fazendo com que uma determinada operação seja executada antes das outras. Em seguida, a exponenciação é a próxima na ordem, ou seja, 3**1+1 é igual a 4 e não a 5, da mesma forma que 2*1**3 é igual a 2 e não a 8. Já a multiplicação e divisão possuem a mesma precedência, sendo maior que a da adição e subtração, que também possuem a mesma precedência. Logo, 2*3-1 é 5, não 4, e 6+4/2 é 8, e não 5. Quando dois operadores têm a mesma precedência, eles são avaliados da esquerda para a direita. Ou seja, 5-3-1 vale 1, e não 3. Isso ocorre porque inicialmente é feito o cálculo de 5-3 e em seguida é subtraído o valor de 1. Em caso de dúvida, deve-se utilizar os parênteses para ter certeza que as expressões saíram conforme desejado.

Outro operador bastante utilizado é o de módulo, que funciona em números inteiros e retorna o resto da divisão do primeiro pelo segundo termo. Em Python, ele é representado pelo símbolo de porcentagem %. A Listagem 7 mostra na linha 1 o comando de atribuição do resultado da divisão de 7 por 3 à variável quociente. Em seguida, é efetuada a operação de módulo na linha 4, atribuindo o resultado à variável resto.

  1 >>> quociente = 7/3
  2 >>> print(quociente)
  3 2.3333333333333335
  4 >>> resto = 7%3
  5 >>> print(resto)
  6 1
  7 >>>
Listagem 7. Operador de módulo

Aqui, cabe ainda observarmos mais um ponto sobre os principais operadores: o operador soma (+) além de ser utilizado para realizar essa operação matemática, pode ser utilizado para concatenar strings. Ou seja, ele une o final de uma string com o início de outra. A Listagem 8 apresenta essas duas situações.

  1 >>> valor1 = 10
  2 >>> valor2 = 20
  3 >>> print(valor1+valor2)
  4 30
  5 >>> valor1 = '10'
  6>>> valor2 = '20'
  7 >>> print(valor1+valor2)
  8 1020
  9 >>>
Listagem 8. Concatenação de strings

Nas linhas 1 e 2 são atribuídos os valores às variáveis. Em seguida, na linha 3, é executada a adição e a impressão do resultado, contendo a soma das duas variáveis, que é 30. Na linha 5, uma operação parecida é realizada, entretanto, os valores são passados entre aspas. Logo, estamos falando de duas strings. Como resultado da impressão, na linha 8 temos a concatenação das duas variáveis.

Conforme vimos anteriormente, o tipo da variável é definido pelo valor que ela armazena, então, se após ter utilizado valores inteiros atribuirmos às variáveis valor1 e valor2 uma string, elas passarão a assumir esses tipos.

A partir desses conceitos básicos sobre Python, podemos avançar no desenvolvimento de variados tipos de aplicações, utilizando uma das linguagens que mais tem ganhado espaço no mercado atualmente.