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 (comoand
,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
e3
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 |
|
|
soma operandos |
|
Subtração |
|
|
subtrai operandos |
|
Multiplicação |
|
|
Multiplica operandos |
|
Divisão |
|
|
Divide operandos |
|
Divisão Inteira |
|
|
Divide operandos e retorna o valor inteiro do quociente (descarta o resto) |
|
Módulo (resto) |
|
|
Retorna o resto da divisão inteira |
|
Exponenciação |
|
|
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 |
---|---|---|---|
|
|
|
Atribuir o valor a variável/objeto |
|
|
|
adiciona e atribui |
|
|
|
subtrai e atribui |
|
|
|
multiplica e atribui |
|
|
|
divide (float) e atribui |
|
|
|
divide (inteiro) e atribui |
|
|
|
calcula o móduto (resto) e atribui |
|
|
|
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 |
|
|
|
diferente de |
|
|
|
maior que |
|
|
|
menor que |
|
|
|
maior ou igual a |
|
|
|
menor ou igual a |
|
|
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 |
---|---|---|---|
|
E lógico |
|
Retorna |
|
OU lógico |
|
Retorna |
|
NÃO lógico |
|
Inverte o valor booleano da expressão (de |
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 forFalse
, o Python não avalia os próximos, pois o resultado seráFalse
;or
: Se o primeiro operando forTrue
, 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.