Salve, salve Pythonista!
Nesse post vamos falar de Operadores em Python: Operadores Lógicos, Operadores Aritméticos, Operadores de Associação, Operadores de Comparação, Operadores de Identidade e Operadores de Atribuição!
Wow, é muito Operador! ![]()
Se você já programa em Python, já se deparou com esses operadores em algum momento: is, is not, ==, in, not in, and, or ou %=.
Nesse post, você vai dominar TODOS esses Operadores e aprender como utilizá-los em seus programas Python!
Está pronto, então vamos aprender sobre Operadores!
Vá Direto ao Assunto…
- Operadores em Python
- Operadores Aritméticos
- Operadores de Comparação
- Operadores de Atribuição
- Operadores Lógicos
- Operadores de Identidade
- Operadores de Associação
Operadores em Python
Operadores em Python são símbolos especiais (como +, ==, and ou +=) que realizam operações sobre um ou mais valores - fazendo contas, comparando dados ou combinando testes lógicos. Eles permitem que o desenvolvedor transcreva a lógica para código.
Python organiza esses operadores em seis famílias: aritméticos (contas), de comparação (relações entre valores), lógicos (and, or, not), de atribuição (=, +=…), de identidade (is) e de associação (in). Dominá-los é essencial para quem quer se tornar um verdadeiro Pythonista!
Veremos todos em detalhes agora, começando pelos Operadores Aritméticos!
Operadores Aritméticos
Os operadores aritméticos em Python realizam contas matemáticas - soma (+), subtração (-), multiplicação (*), divisão (/), divisão inteira (//), módulo (%) e exponenciação (**).
Veja quais estão disponíveis no Python:
| Operador | Nome | Função | Exemplo | Resultado |
|---|---|---|---|---|
+ |
Adição | Realiza a soma de ambos operandos. | 4 + 2 |
6 |
- |
Subtração | Realiza a subtração de ambos operandos. | 4 - 2 |
2 |
* |
Multiplicação | Realiza a multiplicação de ambos operandos. | 4 * 2 |
8 |
/ |
Divisão | Realiza a divisão de ambos operandos (sempre float). |
4 / 2 |
2.0 |
// |
Divisão inteira | Realiza a divisão e descarta a parte decimal do resultado. | 7 // 2 |
3 |
% |
Módulo | Retorna o resto da divisão de ambos operandos. | 7 % 2 |
1 |
** |
Exponenciação | Eleva o primeiro operando à potência do segundo. | 4 ** 2 |
16 |
Veja agora a utilização de cada operador aritmético mencionado acima:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
quatro = 4
dois = 2
soma = quatro + dois
print(soma) # Resultado: 6
subtracao = quatro - dois
print(subtracao) # Resultado: 2
multiplicacao = quatro * dois
print(multiplicacao) # Resultado: 8
divisao = quatro / dois
print(divisao) # Resultado: 2.0
divisao_interna = quatro // dois
print(divisao_interna) # Resultado: 2
modulo = quatro % dois
print(modulo) # Resultado: 0
exponenciacao = quatro ** dois
print(exponenciacao) # Resultado: 16
Casos de borda da divisão e do módulo
Dois detalhes pegam muita gente de surpresa:
1. A divisão / SEMPRE retorna um float, mesmo quando o resultado é exato - diferente da divisão inteira //, que devolve int quando os dois operandos são inteiros:
1
2
print(4 / 2) # 2.0 (float, mesmo "dividindo certinho")
print(4 // 2) # 2 (int)
2. Com números negativos, // arredonda para baixo (em direção a -∞) e o % acompanha para manter a relação matemática:
1
2
print(-7 // 3) # -3 (e não -2: arredonda para baixo)
print(-7 % 3) # 2 (o resto tem o sinal do divisor)
Esse comportamento é coerente: em Python, (a // b) * b + (a % b) sempre reconstrói o a original.
Operadores de Comparação
Os operadores de comparação em Python comparam dois valores e devolvem sempre um booleano (True ou False). São a base das estruturas condicionais no Python, como o if.
| Operador | Nome | Função | Exemplo | Resultado |
|---|---|---|---|---|
== |
Igual a | Verifica se um valor é igual ao outro | 5 == 5 |
True |
!= |
Diferente de | Verifica se um valor é diferente do outro | 5 != 7 |
True |
> |
Maior que | Verifica se um valor é maior que outro | 5 > 2 |
True |
>= |
Maior ou igual | Verifica se um valor é maior ou igual ao outro | 5 >= 5 |
True |
< |
Menor que | Verifica se um valor é menor que outro | 5 < 7 |
True |
<= |
Menor ou igual | Verifica se um valor é menor ou igual ao outro | 5 <= 5 |
True |
Vamos ver exemplos da utilização de cada operador de comparação mencionado acima.
Para facilitar o entendimento, todas as operações estão retornando um valor igual a True, para que você entenda como cada condição é aceita:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var = 5
if var == 5:
print('Os valores são iguais')
if var != 7:
print('O valor não é igual a 7')
if var > 2:
print('O valor da variável é maior de 2')
if var >= 5:
print('O valor da variável é maior ou igual a 5')
if var < 7:
print('O valor da variável é menor que 7')
if var <= 5:
print('O valor da variável é menor ou igual a 5')
Resultado do código acima:
1
2
3
4
5
6
Os valores são iguais
O valor não é igual a 7
O valor da variável é maior de 2
O valor da variável é maior ou igual a 5
O valor da variável é menor que 7
O valor da variável é menor ou igual a 5
Estou desenvolvendo o Ebookr.ai, uma plataforma que transforma suas ideias em ebooks profissionais usando IA - com geração de capa, infográficos e exportação em PDF. Te convido a conhecer!
Operadores de Atribuição
Os operadores de atribuição em Python guardam um valor em uma variável - e os compostos (como +=) ainda aplicam uma conta antes de guardar, funcionando como atalho. Para relembrar como variáveis funcionam, veja tipos de variáveis no Python.
Veja quais Operadores de Atribuição estão disponíveis em Python:
| Operador | Equivalente a | Exemplo (x = 4) |
Resultado |
|---|---|---|---|
= |
x = 4 |
x = 4 |
4 |
+= |
x = x + 4 |
x += 4 |
8 |
-= |
x = x - 4 |
x -= 4 |
0 |
*= |
x = x * 4 |
x *= 4 |
16 |
/= |
x = x / 4 |
x /= 4 |
1.0 |
//= |
x = x // 4 |
x //= 4 |
1 |
%= |
x = x % 4 |
x %= 4 |
0 |
**= |
x = x ** 4 |
x **= 4 |
256 |
Exemplo da utilização de cada operador de atribuição mencionado acima:
Operador +=:
1
2
3
4
numero = 5
numero += 7
print(numero) # Resultado será 12
Operador -=:
1
2
3
4
numero = 5
numero -= 3
print(numero) # Resultado será 2
Operador *=:
1
2
3
4
numero = 5
numero *= 2
print(numero) # Resultado será 10
Operador /=:
1
2
3
4
numero = 5
numero /= 4
print(numero) # Resultado será 1.25
Operador %=:
1
2
3
4
numero = 5
numero %= 2
print(numero) # Resultado será 1
Obs: O operador % é chamado módulo e nada mais é que o resto da divisão. No exemplo acima: 5 dividido por 2 dá 2 de resultado e sobra 1. Por isso numero %= 2 será 1!
Está curtindo esse conteúdo? ![]()
Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?
Operadores Lógicos
Os operadores lógicos em Python combinam ou invertem condições booleanas para montar os famosos testes lógicos. São três: and, or e not.
Vamos ver mais sobre eles agora!
| Operador | Definição | Exemplo | Resultado |
|---|---|---|---|
and |
Retorna True se ambas as afirmações forem verdadeiras |
True and False |
False |
or |
Retorna True se ao menos uma das afirmações for verdadeira |
True or False |
True |
not |
Inverte o booleano: True vira False e vice-versa |
not True |
False |
Exemplo da utilização de cada um:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
num1 = 7
num2 = 4
# Exemplo and
if num1 > 3 and num2 < 8:
print("As Duas condições são verdadeiras")
# Exemplo or
if num1 > 4 or num2 <= 8:
print("Uma ou duas das condições são verdadeiras")
# Exemplo not
if not (num1 < 30 and num2 < 8):
print('Inverte o resultado da condição entre os parênteses')
Operadores de Identidade
Estes Operadores são utilizados para comparar objetos, verificando se os objetos testados referenciam o mesmo objeto (is) ou não (is not).
| Operador | Definição |
|---|---|
is |
Retorna True se ambas as variáveis são o mesmo objeto |
is not |
Retorna True se ambas as variáveis não forem o mesmo objeto |
Agora vamos aos exemplos de como utilizar cada operador de identidade mencionado acima:
Exemplo do operador is:
1
2
3
4
5
6
7
8
9
lista = [1, 2, 3]
outra_lista = [1, 2, 3]
recebe_lista = lista
# Recebe True, pois são o mesmo objeto
print(f"São o mesmo objeto? {lista is recebe_lista}")
# Retorna False, pois são objetos diferentes
print(f"São o mesmo objeto? {lista is outra_lista}")
Resultado do código acima:
1
2
São o mesmo objeto? True
São o mesmo objeto? False
Exemplo do operador is not:
1
2
3
4
tupla = (1, 2, 3)
outra_tupla = (1, 2, 3)
print(f"Os objetos são diferentes? {outra_tupla is tupla}")
Resultado do código acima:
1
Os objetos são diferentes? True
Muitas vezes programadores Python ficam na dúvida em quando utilizar o operador de igualdade == ou o operador de identidade is.
Mas agora que você já conhece os dois sabe que o operador == verifica os valores testados, enquanto o operador is testa a referência dos valores testados! ![]()
Antipadrão: nunca use
ispara comparar números (ou strings). Para comparar valores, use sempre==. Oisparece funcionar com inteiros pequenos porque o Python mantém em cache os valores de-5a256, mas isso quebra com números maiores:
1
2
3
4
5
6
7
8
9
a = int("256")
b = int("256")
print(a == b) # True (valores iguais)
print(a is b) # True (mesmo objeto em cache)
c = int("257")
d = int("257")
print(c == d) # True (valores iguais)
print(c is d) # False (objetos diferentes!)
Repare: c == d é True, mas c is d é False. Por isso, reserve o is para checar identidade de verdade - como em if x is None:.
Operadores de Associação
Por último, temos os Operadores de Associação.
Eles servem para verificar se determinado objeto está associado ou pertence a determinada estrutura de dados.
| Operador | Função |
|---|---|
in |
Retorna True caso o valor seja encontrado na sequência |
not in |
Retorna True caso o valor não seja encontrado na sequência |
Exemplo da utilização de cada operador de associação mencionado acima:
1
2
3
4
5
6
7
lista = ["Python", 'Academy', "Operadores", 'Condições']
# Verifica se existe a string dentro da lista
print('Python' in lista) # Saída: True
# Verifica se não existe a string dentro da lista
print('SQL' not in lista) # Saída: True
Conclusão
Vimos nesse post os diversos tipos de Operadores que o Python disponibiliza para que possamos desenvolver nossos scripts na Linguagem!
Agora que você já sabe como utilizá-los, você deu um passo importante para conhecer a fundo a linguagem Python!
Se ficou com alguma dúvida, fique à vontade para deixar um comentário no box aqui embaixo! Será um prazer te responder! ![]()
Perguntas frequentes
Qual a diferença entre / e // em Python?
A diferença é que / é a divisão real e sempre retorna um float (ex.: 4 / 2 dá 2.0), enquanto // é a divisão inteira e descarta a parte decimal, arredondando para baixo (ex.: 7 // 2 dá 3).
O que faz o operador % (módulo) em Python?
O operador % (módulo) retorna o resto da divisão entre dois números. Por exemplo, 7 % 2 dá 1, pois 7 dividido por 2 sobra 1. É muito usado para testar se um número é par: n % 2 == 0.
Qual a diferença entre == e is em Python?
O == compara os valores (se são iguais), enquanto o is compara a identidade (se são o mesmo objeto na memória). Para comparar números ou strings, use sempre ==; reserve o is para checar None.
O que fazem os operadores and, or e not em Python?
São os operadores lógicos: and retorna True só se ambas as condições forem verdadeiras; or retorna True se ao menos uma for; e not inverte o booleano (not True vira False e not False vira True).
"Porque o Senhor dá a sabedoria, e da sua boca vem a inteligência e o entendimento" Pv 2:6