Introdução à programação
com Python em um contexto visual


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