Operadores Aritméticos e Lógicos em Python

Cansado de programar?

Cansado(a) de quebrar a cabeça para aprender a programar Python de verdade?

Conheça a melhor e mais completa formação de Python e Django e sinta-se um programador verdadeiramente competente. Além de Python e Django, você também vai aprender Banco de Dados, SQL, HTML, CSS, Javascript, Bootstrap e muito mais!

Quero aprender Python e Django de Verdade! Quero aprender!
Suporte

Tire suas dúvidas diretamente com o professor

Suporte

Projetos práticos voltados para o mercado de trabalho

Suporte

Formação moderna com foco na prática profissional

Download do Artigo

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! :heart_eyes:

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 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

:bulb: 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:

:point_right: Operador +=:

1
2
3
4
numero = 5

numero += 7
print(numero)  # Resultado será 12

:point_right: Operador -=:

1
2
3
4
numero = 5

numero -= 3
print(numero)  # Resultado será 2

:point_right: Operador *=:

1
2
3
4
numero = 5

numero *= 2
print(numero)  # Resultado será 10

:point_right: Operador /=:

1
2
3
4
numero = 5

numero /= 4
print(numero)  # Resultado será 1.25

:point_right: 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? :thumbsup:

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

Assine as PyDicas e receba 30 dias do melhor conteúdo Python na sua Caixa de Entrada: direto e sem enrolação!

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! :wink:

:warning: Antipadrão: nunca use is para comparar números (ou strings). Para comparar valores, use sempre ==. O is parece funcionar com inteiros pequenos porque o Python mantém em cache os valores de -5 a 256, 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! :wink:

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 / 22.0), enquanto // é a divisão inteira e descarta a parte decimal, arredondando para baixo (ex.: 7 // 23).

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 % 21, 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).

Começe agora sua Jornada na Programação!

Não deixe para amanhã o sucesso que você pode começar a construir hoje!

#newsletter Olá :wave: Curtiu o artigo? Então faça parte da nossa Newsletter! Privacidade Não se preocupe, respeitamos sua privacidade. Você pode se descadastrar a qualquer momento.