Python · Intermediário · Inglês · Técnico
walrus operator
O operador :=, que atribui um valor a uma variável dentro de uma expressão e já devolve esse valor. Foi adicionado no Python 3.8 e evita cálculos repetidos.
Onde usar
Útil em condições e laços que precisam testar e guardar um valor ao mesmo tempo, como ler blocos de dados até acabar. Em excesso prejudica a leitura, e o review pode pedir uma atribuição comum.
Em código
dados = [3, 8, 15]
if (n := len(dados)) > 2:
print(f'{n} itens, muitos')Exemplos
Use the walrus operator to avoid calling len twice.
Use o walrus operator para não chamar len duas vezes.
The walrus operator makes the loop shorter but harder to read.
O walrus operator deixa o laço mais curto, mas mais difícil de ler.
Cuidado
Sem parênteses, não pode ser usado como instrução solta, como x := 5; nesse caso use a atribuição normal.
Sinônimos
operador morsa, expressão de atribuição
Origem
O apelido vem de := lembrar os olhos e as presas de uma morsa.