Qual a diferença entre =
e ==
em Python?
O símbolo =
é o operador de “atribuição”
num = 3 # faça `num` ser uma referência ao valor 3`
# Resultado: Modificada a variável `num`.
Na prática, do lado direito do =
aparecem expressões que produzem algum valor, e que são avaliadas (calculadas) primeiro. Em seguida acontece a atribuição, a variável à esquerda passa apontar para o valor calculado na memória.
soma = a + b
media = (a + b) / 2.
# Aumentando em 1 um contador
contador = contador + 1
# Uma forma equivalente com o operador de atribuição aumentada
contador += 1 # equivale a contador = contador + 1
O símbolo ==
é o operador relacional que faz a “comparação de igualdade”
num == 3 # o valor de `num` é igual ao valor 3?`
# Ninguém escreve isso desse jeito, em geral vai dentro de outra estrutura.
# Mas o resultado seria o valor `True` ou `False`
# se você fizer print(num == 3), por exemplo
Na prática ==
é usado dentro de estruturas como if
(ou while
, por exemplo) que permitem a execução condicional de outras instruções:
if num == 3: # se valor de `num` for igual a 3
print("você tem três chances")
De forma análoga, temos um operador relacional que indica desigualdade `!=’:
if num != 0: # se num não for igual a zero
print("você ainda tem {} chance(s)".format(num))
# equivalente a: if not num == 0
Assuntos relacionados
Glossário
variável Um nome que se refere a um valor.
atribuição Uma instrução que atribui um valor a uma variável.
operador relacional Um destes operadores, que compara seus operandos: ==
, !=
, >
, <
, >=
e <=
.
instrução condicional Uma instrução que controla o fluxo de execução, dependendo de alguma condição (expressão avaliada como True
ou False
).