Creio que, ao aprender uma nova linguagem de programação, precisamos aprender, de imediato, três coisas para tornarmo-nos aptos a fazer programas minimamente interessantes: 1) aprender os operadores básicos proporcionados pela linguagem, 2) aprender como manipular variáveis e 3) aprender como utilizar funções de entrada e saída de dados. Depois de dominada essa parte, aí sim passamos pra laços de repetição, controle de fluxo, funções, e por aí vai.
Sendo assim, a lição de hoje cobre o que eu acredito que deva ser o primeiro passo em direção à proficiência numa linguagem de programação, os operadores aritméticos da linguagem Python. Numa lição futura, abordarei os operadores de comparação também. Essa lição tem como público alvo tanto aqueles que acabaram de instalar o Python em suas máquinas, quanto aqueles que já têm algum conhecimento, mas de vez em quando esbarram em alguns símbolos que não conseguem entender direito e querem dar uma revisada no assunto.
Para executar os exemplos aqui presentes, basta executar o ambiente interativo do Python. No Linux, digite ctrl-alt-T para abrir o Terminal, e lá digite python3. No Windows, apenas abra o IDLE, que acompanha a instalação do Python! Então vamos lá.
Uma breve definição de operadores
Antes entrar em contato com os operadores do Python, é importante apresentar uma breve definição de operadores. Operadores são símbolos especiais identificados pelo interpretador que permitem realizar operações com um ou mais objetos. Em geral, a utilização de operadores induz o interpretador a realizar algum tipo de computação. Existem vários tipos de operadores. Neste tutorial, você vai conhecer os mais comuns, que são os operadores aritméticos e de comparação.
Operadores aritméticos
Esses operadores são utilizados para realizar operações aritméticas (dã!). Os símbolos para as operações de soma e subtração utilizados pelo Python são os mesmos que utilizamos cotidianamente: o + para soma e o – para subtração. Já os sinais de multiplicação e divisão são menos intuitivos: para multiplicar, utilizamos * (asterisco) e, para dividir, utilizamos /. A utilização destes operadores é semelhante ao modo como fazemos contas no dia-a-dia. Você pode abrir o Python e ir experimentando com esses operadores. Veja alguns exemplos a seguir:
>>> 8+10
18
>>> 8-10
-2
>>> 8*10
80
>>> 8/10
0.8
>>> 2*8+4/10
16.4
Existem ainda outros operadores aritméticos menos comuns: o operador % é o operador de módulo, e serve para encontrarmos o resto da divisão entre dois números.
Módulo aqui diz respeito ao módulo de dois números e não deve ser confundido com o valor absoluto de um número (obtido, diga-se de passagem, com a função abs()!) Por exemplo, 19%10 = 9, o que significa que dividindo 19 por 10, obtemos um resto de 9.
O operador **, por sua vez, é utilizado para realizar exponenciação, ou seja, em Python, 3**3 equivale a 3 ao cubo, e tem como resultado o número 27.
Por fim, o Python também possui um operador chamado de floor division, que poderia ser livremente traduzido como “divisão com arredondamento para o menor número”, talvez, e seu símbolo é o //.
Atenção!!! Muita gente se refere a este operador como “uma divisão que tira a parte decimal”, mas isso não é verdade! O operador // divide dois números. Caso o resultado não seja um inteiro, o resultado será um número decimal qualquer localizado entre dois números inteiros. Por exemplo, 2.7 está localizado entre 2 e 3. O resultado é então “arredondado”, na direção do número menor, nesse caso, o 2. Observe o exemplo abaixo:
>>> 6/4
1.5
>>> 6//4
1
A partir do exemplo, parece que o // funciona exatamente como um operador que “divide e tira a parte decimal”, certo? Agora digite no modo interativo do Python a operação -6//4. O resultado será -2, e não -1, correto? Por quê?
Ora, o que acontece é que o resultado dessa divisão é -1.5, que é um número localizado entre os algarismos -1 e -2, e, desses dois algarismos, o menor é -2! Se você quiser obter o resultado de uma divisão com número negativo sem a parte decimal, você pode utilizar a função int(), que corta a parte decimal dos números, assim:
>>> -8/3
-2.6666666666666665
>>> -8//3
-3
>>> int(-8/3)
-2

Regras de precedência
E esses são os operadores aritméticos do Python! Uma última coisa que é preciso ser dita sobre operadores diz respeito à ordem de avaliação das expressões em Python. Veja o exemplo abaixo:
>>> 8*3/2+1
13.0
Você consegue entender como esse resultado foi obtido? Você deve lembrar da regra de precedência das operações matemáticas que a gente estuda na escola, não é mesmo?
“Multiplicações e divisões antes de adições e subtrações, resolver as expressões dentro de parênteses primeiro”, etc. O Python não poderia deixar de seguir essas mesmas regras. Para refrescar sua memória, veja a ordem de precedência das operações aritméticas no Python:
1o | () | parênteses |
2o | ** | exponenciação |
3o | *, %, /, // | multiplicação, módulo, divisão, floor division |
4o | +,- | soma e subtração |
Quando duas operações diferentes da mesma hierarquia se encontram lado a lado, devemos avaliar a expressão da esquerda para a direita. Assim, nosso exemplo anterior deu como resultado o número 13.0 porque 8*3 = 24, 24/2 = 12.0 e 12.0+1 = 13.
Embora não seja errado escrever expressões dessa forma, (assumindo que o resultado desejado realmente seja o número 13), o ideal é sempre utilizar parênteses para separar partes de expressões grandes que possam parecer ambíguas. Isso evita confusão tanto para nós quanto pra quem está lendo nosso código!
Nesta lição você aprendeu (ou relembrou) os operadores aritméticos do Python. Depois de praticar um pouco no ambiente interativo do Python, o próximo passo é conhecer como funcionam os operadores de comparação, as variáveis e as entradas e saídas. Com esses conhecimentos, você já estará apto a escrever pequenos programas em Python!
One thought on “Operadores aritméticos em Python”