:= Operador morsa (expressão de atribuição)

Última atualização: 2026-09-22

:= Operador morsa (expressão de atribuição)

:= é o operador morsa introduzido pela PEP 572, que permite atribuir e retornar um valor dentro de uma expressão.

CategoriaOperadores
TipoOperador
Versão do Python3.8+

📝 Sintaxe

name := value

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

3.0
3.0
💡 Dica := é adequado para reutilizar cálculos custosos em condições if / while.
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QQual é a diferença entre := e =?
A`:=` é uma expressão: pode atribuir um valor dentro de uma condição como `if` ou `while` e também retorna esse valor. `=` é uma declaração e não pode aparecer em posição de expressão. `if (x = 5):` é um erro de sintaxe, enquanto `if (x := 5):` é válido.
QQual versão do Python o `:=` exige?
APython 3.8+ (PEP 572). No 3.7 ou inferior, gera `SyntaxError: invalid syntax`.
QQual é o uso clássico de :=?
ALer-e-testar em um loop `while`: `while (line := f.readline()):` processa cada linha; ou reutilizar um cálculo caro numa condição: `if (root := math.sqrt(x)) > 2:` usa `root` diretamente.
QQuando você não deve usar :=?
AEvite sempre que puder. A atribuição simples é mais clara na maioria dos cenários; usar demais o operador morsa prejudica a legibilidade. O PEP 572 sugere usá-lo apenas para evitar computação repetida e tornar a lógica mais compacta.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%