3. Operadores Básicos#

Operadores são ferramentas que nos permitem realizar cálculos, fazer comparações, combinar condições lógicas e muito mais.

Quando se fala em operadores, é importante diferenciar o operador do operando, a distinção se dá assim:

  • Operador: É um símbolo especial (como +, * ou >) ou uma palavra chave (como and, or, not) que realiza uma operação em um ou mais valores;

  • Operando: É o valor (ou variável) sobre o qual o operador atua. Por exemplo, na expressão 5 + 3, 5 e 3 são os operando e + é o operador.

Python possui uma rica variedade de operadores, dentre eles podemos citar:

Operador Aritméticos#

São utilizados para realizar operações matemáticas comuns.

Operador

Nome

Exemplo

Resultado (do exemplo)

Descrição

+

Adição

10 + 5

15

soma operandos

-

Subtração

10 - 5

5

subtrai operandos

*

Multiplicação

10 * 5

50

Multiplica operandos

/

Divisão

10 / 4

2.5

Divide operandos

//

Divisão Inteira

10 // 4

2

Divide operandos e retorna o valor inteiro do quociente (descarta o resto)

%

Módulo (resto)

10 % 3

1

Retorna o resto da divisão inteira

**

Exponenciação

2 ** 3

8

Eleva operandos à alguma potência

Exemplos práticos:

a = 3
b = 2

adicao = a + b
subtracao = a - b
multiplicacao = a * b
divisao = a / b
divisao_inteira = a // b
modulo = a % b
exponenciacao = a ** b

print(f"Soma: {adicao}")
print(f"Subtração: {subtracao}")
print(f"Multiplicação: {multiplicacao}")
print(f"Divisão Float: {divisao}")
print(f"Divisão Inteira: {divisao_inteira}")
print(f"Resto: {modulo}")
print(f"Potência: {exponenciacao}")
Soma: 5
Subtração: 1
Multiplicação: 6
Divisão Float: 1.5
Divisão Inteira: 1
Resto: 1
Potência: 9

Casos especiais#

Os operadores + e * têm comportamentos especiais com strings. Eles podem realizar as seguintes operações:

  • + (Concatenação): Junta duas strings.

nome = "Maria"
sobrenome = "Silva"
nome_completo = nome + " " + sobrenome  # "Maria Silva"
print(nome_completo)
Maria Silva
  • * (Repetição): Repete uma string um número específico de vezes.

repeticao = "abc" * 2 # "abcabc"
print(repeticao)
abcabc

Importante#

Python segue a ordem matemática PEMDAS/BODMAS padrão para resolver expressões. esse padrão estabelece o seguinte:

  • P - Parênteses (resolver dentro deles primeiro).

  • E - Expoentes (resolver as potências).

  • M - Multiplicação (resolver da esquerda para a direita).

  • D - Divisão (resolver da esquerda para a direita).

  • A - Adição (resolver da esquerda para a direita).

  • S - Subtração (resolver da esquerda para a direita).

Multiplicação e divisão possuem a mesma prioridade, sendo prioritário o que vier primeiro à esquerda. Adição e subtração seguem o mesmo esquema, ambos possuem a mesma prioridade, sendo prioritário o que vier primeiro à esquerda.

É recomendado que se use parênteses para garantir a ordem desejada e para melhorar a clareza:

resultado = (2 + 3) * 4  # (5) * 4  => 20
resultado_sem_parenteses = 2 + 3 * 4 # 2 + (12) => 14

print(resultado)
print(resultado_sem_parenteses)
20
14

Em resumo, seguir a ordem PEMDAS/BODMAS garante que as operações matemáticas são realizadas na sequência correta, levando ao resultado correto.

Operadores de Atribuição#

São usados para atribuir valores à variáveis. Nós já conhecemos o mais básico =, agora veremos operadores compostos que combinam operações aritméticas com atribuição.

Operador

Exemplo

Equivale a

Descrição

=

x = 5

x = 5

Atribuir o valor a variável/objeto

+=

x += 3

x = x + 3

adiciona e atribui

-=

x -= 3

x = x - 3

subtrai e atribui

*=

x *= 3

x = x * 3

multiplica e atribui

/=

x /= 3

x = x / 3

divide (float) e atribui

//=

x //= 3

x = x // 3

divide (inteiro) e atribui

%=

x %= 3

x = x % 3

calcula o móduto (resto) e atribui

**=

x **= 3

x = x ** 3

calcula a exponenciação e atribui

Esses operadores tornam o código mais conciso e, muitas vezes, mais legível, veja:

contador = 5 # atribui
print(f"Contador: {contador}")
contador += 5 # soma e atribui
print(f"Contador: {contador}")
contador -= 5 # subtrai e atribui
print(f"Contador: {contador}")
contador *= 5 # multiplica e atribui
print(f"Contador: {contador}")
contador //= 5 # divide (inteiro) e atribui
print(f"Contador: {contador}")
contador %= 2 # calcula o módulo e atribui
print(f"Contador: {contador}")
contador **= 5 # calcula a exponensiação e atribui
print(f"Contador: {contador}")
contador /= 2 # divide (float) e atribui
print(f"Contador: {contador}")
Contador: 5
Contador: 10
Contador: 5
Contador: 25
Contador: 5
Contador: 1
Contador: 1
Contador: 0.5

Operadores de Comparação (ou Relacionais)#

São utilizados para comparar dois valores. Eles sempre retornam um valor Booleano: True ou False.

Operador

Nome

Exemplo

Resultado (do exemplo)

==

igual a

5 == 5

True

!=

diferente de

5 != 3

True

>

maior que

5 > 3

True

<

menor que

5 < 3

False

>=

maior ou igual a

5 >= 5

True

<=

menor ou igual a

3 <= 5

True

Importante: Não confunda == (comparação de igualdade) com = (atribuição).

Exemplos:

x = 20
y = 18

print(x == y) # x é igual a y? False
print(x != y) # x é diferente a y? True
print(x > y) # x é maior a y? True
print(x < y) # x é menor a y? False
print(x >= y) # x é maior ou igual a y? True
print(y <= y) # x é menor ou igual a y? True
False
True
True
False
True
True

Operadores Lógicos#

São usados para combinar ou inverter expressões booleanas.

Operador

Nome

Exemplo

Descrição

and

E lógico

True and False -> False

Retorna True se ambas expressões forem verdadeiras, caso contrário retorna False

or

OU lógico

True or False -> True

Retorna True se pelo menos uma das expressões for verdadeira, caso contrário retorna False

not

NÃO lógico

not True -> False

Inverte o valor booleano da expressão (de True para False e vice-versa)

Exemplos:

a = True
b = False

print(True and False) # False
print(True or False) # True
print(not True) # False
print(not False) # True
False
True
False
True

Comportamento de Curto-Circuito (Short-Circuiting)#

É uma prática que o Python utiliza para otimizar o processamento de operações lógicas, funciona assim:

  • and: Se o primeiro operando for False, o Python não avalia os próximos, pois o resultado será False;

  • or: Se o primeiro operando for True, o Python não avalia os próximos, pois o resultado já será True.

Essa prática ajuda a evitar erros e otimizar o código.

Resumo#

Dominar os operadores é um passo gigantesco! Eles são os blocos de construção que, combinados com variáveis e tipos de dados, permitem que você comece a escrever expressões e lógicas mais complexas.

  • Aritméticos: Para todos os seus cálculos.

  • Atribuição: Para atualizar variáveis de forma eficiente.

  • Comparação: Para tomar decisões baseadas em relações entre valores.

  • Lógicos: Para combinar múltiplas condições.

Importante: Também há outros operadores mais voltados listas, tuplas e afins que iremos nos aprofundar mais tarde.

Parabéns: Você terminou o módulo 03 do curso de introdução à python. Agora você sabe sobre os operadores básicos existentes em Python e está pronto para implementá-los em seus programas.