Guia Abrangente de Operadores Python: Aritméticos, Lógicos, Comparação, Atribuição, Bitwise e Precedência
O que são Operadores Lógicos em Python?
Operadores lógicos em Python avaliam expressões booleanas e retornam True ou False. Os três operadores lógicos primários são and, or e not. Eles são indispensáveis para controlar fluxo com if, while e outras instruções condicionais.
Neste tutorial, exploraremos o espectro completo de operadores Python, incluindo:
- Operadores Aritméticos
- Operadores de Comparação
- Operadores de Atribuição
- Operadores Lógicos & Bitwise
- Operadores de Pertinência
- Operadores de Identidade
- Precedência de Operadores
Operadores Aritméticos
Operadores aritméticos realizam cálculos numéricos. Python suporta os operadores usuais: + (adição), - (subtração), * (multiplicação), / (divisão verdadeira), // (divisão inteira), % (módulo) e ** (exponenciação). Podem ser usados diretamente em expressões ou via função built-in eval() para avaliação dinâmica.
Exemplo: Adição Simples
x = 4 y = 5 print(x + y) # Output: 9
Outros operadores funcionam similarmente; por exemplo, 4 * 5 resulta em 20, 4 / 2 dá 2.0 e 4 ** 2 resulta em 16.
Operadores de Comparação
Operadores de comparação (relacionais) avaliam a relação entre dois valores e retornam resultado booleano. Incluem:
==(igual)!=(diferente)<(menor que)<=(menor ou igual a)>(maior que)>=(maior ou igual a)
Exemplo: Comparando Duas Variáveis
x = 4
y = 5
print('x > y é', x > y) # Output: False
Operadores de Atribuição
Operadores de atribuição armazenam valores em variáveis. A forma básica é =, enquanto operadores compostos combinam uma operação com atribuição, como +=, -=, *=, /= e **=.
Exemplo: Atribuição Básica e Composta
num1 = 4
num2 = 5
print('Linha 1 - Valor de num1:', num1)
print('Linha 2 - Valor de num2:', num2)
# Atribuição composta de adição
res = num1 + num2
res += num1
print('Linha 3 - Resultado após res += num1:', res) # Output: 13
Operadores Lógicos e Bitwise
Operadores lógicos (and, or, not) avaliam expressões booleanas. Operadores bitwise (&, |, ^, ~, <<, >>) realizam manipulação em nível de bit.
Exemplo: Operações Lógicas
a = True
b = False
print('a and b é', a and b) # Output: False
print('a or b é', a or b) # Output: True
print('not a é', not a) # Output: False
Operadores de Pertinência
Operadores de pertinência testam presença de valor em sequência: in e not in.
Exemplo: Verificando Pertinência em Lista
x = 4
y = 8
sample_list = [1, 2, 3, 4, 5]
if x in sample_list:
print('Linha 1 - x está disponível na lista')
else:
print('Linha 1 - x não está disponível na lista')
if y not in sample_list:
print('Linha 2 - y não está disponível na lista')
else:
print('Linha 2 - y está disponível na lista')
Operadores de Identidade
Operadores de identidade comparam endereços de memória de objetos: is e is not. São essenciais quando distinguindo entre objetos iguais em valor mas distintos em identidade.
Exemplo: Comparação de Identidade
x = 20
y = 20
if x is y:
print('x & y têm a mesma identidade')
y = 30
if x is not y:
print('x & y têm identidades diferentes')
Precedência de Operadores
Python segue uma hierarquia de precedência estrita para resolver expressões sem parênteses. A maior precedência é exponenciação (**), seguida por operadores unários, multiplicação/divisão/módulo, adição/subtração, operadores de comparação, operadores de identidade, operadores de pertinência, operadores lógicos e finalmente operadores de atribuição.
Usar parênteses sobrescreve a precedência padrão e torna expressões explícitas.
Exemplo: Precedência em Ação
v = 4
w = 5
x = 8
y = 2
z = (v + w) * x / y
print('Valor de (v + w) * x / y é', z) # Output: 28.0
Compatibilidade com Python 2
Abaixo estão snippets equivalentes para Python 2, que usa instruções print sem parênteses.
# Operadores Aritméticos
x = 4
y = 5
print x + y
# Operadores de Comparação
x = 4
y = 5
print 'x > y é', x > y
# Operadores de Atribuição
num1 = 4
num2 = 5
print 'Linha 1 - Valor de num1:', num1
print 'Linha 2 - Valor de num2:', num2
# Atribuição Composta
num1 = 4
num2 = 5
res = num1 + num2
res += num1
print 'Linha 3 - Resultado após res += num1:', res
# Operadores Lógicos
a = True
b = False
print 'a and b é', a and b
print 'a or b é', a or b
print 'not a é', not a
# Operadores de Pertinência
x = 4
y = 8
sample_list = [1, 2, 3, 4, 5]
if x in sample_list:
print 'Linha 1 - x está disponível na lista'
else:
print 'Linha 1 - x não está disponível na lista'
if y not in sample_list:
print 'Linha 2 - y não está disponível na lista'
else:
print 'Linha 2 - y está disponível na lista'
# Operadores de Identidade
x = 20
y = 20
if x is y:
print 'x & y têm a mesma identidade'
y = 30
if x is not y:
print 'x & y têm identidades diferentes'
# Precedência de Operadores
v = 4
w = 5
x = 8
y = 2
z = (v + w) * x / y
print 'Valor de (v + w) * x / y é', z
Resumo
- Operadores aritméticos lidam com cálculos numéricos.
- Operadores de comparação determinam verdade relacional.
- Operadores de atribuição armazenam valores; variantes compostas combinam operações.
- Operadores lógicos governam controle de fluxo; operadores bitwise manipulam bits.
- Operadores de pertinência testam contenção em sequência.
- Operadores de identidade comparam identidades de objetos.
- Precedência de operadores dita ordem de avaliação; parênteses podem sobrescrevê-la.
python
- Dominando Operadores Bitwise e Bit Shift em C#: Guia Abrangente
- Variáveis, Constantes e Literais em Python – Guia Completo
- Dominando Tipos de Dados em Python: Guia Prático
- Dominando Operadores em Python: Guia Completo
- Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
- Dominando Dicionários em Python: Criação, Manipulação e Técnicas Avançadas
- Dominando Iteradores em Python: Como Funcionam e Como Criar os Seus
- Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
- Dominando datetime do Python: Guia Prático de Datas, Horários e Fusos Horários
- Dominando Operadores Bitwise em C: AND, OR, XOR, Shifts e Complemento