Operadores

Operadores são símbolos ou palavras reservadas que realizam operações sobre valores ou variáveis. Eles são usados para manipular dados, realizar cálculos, comparar valores, tomar decisões e etc.



Operadores Aritiméticos

Usados para realizar cálculos matemáticos.     

  Operador     Descrição  Exemplo      Resultado  
+ Adição 3 + 2 5
- Subtração 5 - 2 3
* Multiplicação 3 * 2 6
/ Divisão 7 / 2 3.5
// Divisão inteira 7 // 2 3
% Módulo (resto) 7 % 2 1
** Exponenciação 2 ** 3 8

 

operadores_aritimeticos.py
a = 10
b = 3

print(a + b)
print(a - b)
print(a * b)
print(a / b)

# (Op. piso) Divisão de resultado inteiro, é arredondado para BAIXO para o número inteiro mais próximo.
print(a // b)

# Módulo (resto da divisão)
print(a % b)

# Exponenciação (a elevado a b)
print(a ** b)

Operadores de Atribuição

Usados para atribuir valores a variáveis.

  Operador   Descrição   Exemplo    Resultado  
= Atribuição simples a = 10 a vale 10
+= Adição e atribuição a += 5 a vale 15
-= Subtração e atribuição a -= 3 a vale 12
*= Multiplicação e atribuição a *= 2 a vale 24
/= Divisão e atribuição a /= 4 a vale 6.0
//= Divisão inteira e atribuição a //= 2 a vale 3
%= Módulo e atribuição a %= 2 a vale 1
**= Exponenciação e atribuição a **= 3 a vale 1
operadores_atribuicao.py
resultado = 0

# pega o valor de resultado divide por 2 e salva na própria variável
resultado /= 2

print(resultado)

 

 


Operadores de Comparação

Usados para comparar valores. Retornam True ou False.

  Operador   Descrição   Exemplo     Resultado  
== Igual a 3 == 3 True
!= Diferente de 3 != 4 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
operadores_comparacao.py
a = 10

b = 5

print(a == b) # Igual a

print(a != b)  # Diferente de

print(a > b)  # Maior que

print(a < b)  # Menor que

print(a >= b)  # Maior ou igual a

print(a <= b)  # Menor ou igual a

Operadores Lógicos

Usados para combinar expressões lógicas.

Operador Descrição Exemplo Resultado
and Retorna True se ambas as condições forem verdadeiras (5 > 3) and (2 < 4) True
or Retorna True se pelo menos uma condição for verdadeira (5 > 3) or (2 > 4) True
not Inverte o valor lógico not (5 > 3) False
operadores_logicos.py
x = True
y = False

# E lógico (True se ambos forem True)
print(x and y)

# Ou lógico (True se pelo menos um for True)
print(x or y)

# Não lógico (inverte o valor lógico)
print(not x)

Operadores de Identidade

Usados para verificar se duas variáveis referem-se ao mesmo objeto. Ou seja, Verifica se dois objetos são a mesma instância na memória. NÃO se são iguais, mas se são os mesmos! Em python objetos primitivos com mesmo valor tem o mesmo endereço, diferentes das coleções, que mesmo que tenha outros valores não tem o mesmo endereço (não é o mesmo objeto).

Operador Descrição Exemplo Resultado
is Retorna True se forem o mesmo objeto a is b True ou False
is not Retorna True se forem objetos diferentes a is not b True ou False

Em linguagem C, onde x=10, o número 10 é um valor literal simples. Em Python, o número 10 é um objeto da classe int que encapsula o valor 10 e inclui métodos associados, como bit_length(). Objetos mutáveis (como listas) sempre resultam em objetos únicos, enquanto objetos imutáveis (como inteiros e strings) podem ser reutilizados. 

Interning: Para economizar memória e acelerar o desempenho, Python mantém um cache interno de inteiros pequenos (geralmente entre -5 e 256). Se você criar variáveis que referenciem inteiros nesse intervalo,o python pode reutilizar o mesmo objeto na memória.

| Valor VS Identidade

sem_operador_identidade.py
lista_a = [1, 2, 3, 4]
lista_b = [1, 2, 3, 4]

# retornará True pois tem o mesmo conteúdo no momento
print(lista_a == lista_b)

Exemplo com Operador de comparação, ==, que confere o valor do objeto

operador_identidade.py
lista_a = [1, 2, 3, 4]
lista_b = [1, 2, 3, 4]

# retornará False pois não são o mesmo objeto, apesar de terem o mesmo conteúdo
print(lista_a is lista_b)

a = 10
b = 10

# retornará True pois são o mesmo objeto
print(a is b)

Exemplo com operador de identidade que confere se são o mesmo objeto

forcando_interning.py
import sys

s1 = sys.intern("Python_rocks")
s2 = sys.intern("Python_rocks")

print(s1 is s2)  # True (agora são o mesmo objeto)

É possivel forçar strings internadas (interning), para obrigar a reutilização de objetos. Isso pode ser útil para otimizar programas que lidam com muitas strings repetidas, como processamento de texto. Mas o Python faz isso automaticamente para strings curtas e simples (sem espaços ou caracteres especiais).


Operadores de Associação

Usados para verificar se um valor está presente em uma sequência (como listas, strings ou tuplas).

Operador Descrição Exemplo Resultado
in Retorna True se o valor estiver presente 'a' in 'apple' True
not in Retorna True se o valor não estiver presente 'b' not in 'apple' True

Operador de atribuição em expressão - Morsa

Também conhecido como Walrus Operator, permite atribuir um valor a uma variável como parte de uma expressão. Isso torna o código mais conciso ao evitar uma linha adicional apenas para atribuição.

| Morsa

sem_morsa.py
entrada = input("Digite algo: ")
if len(entrada) > 5:
    print(f"A entrada tem mais de 5 caracteres: {entrada}")

Exemplo de uso sem o operador Morsa

operador_morsa.py
if (entrada := input("Digite algo: ")) and len(entrada) > 5:
    print(f"A entrada tem mais de 5 caracteres: {entrada}")

Uso com operador morsa para poupar linhas de códigos.