Blog

Postado em em 29 de agosto de 2023

Operador Walrus em Python – O que é e Como Usar?

Você já ouviu falar do operador walrus em Python? Nesta aula, vou te mostrar o que ele é e como utilizá-lo!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Operador Walrus em Python – O que é e Como Usar?

Na aula de hoje, vou te ensinar sobre o operador walrus em Python, também conhecido como walrus operator ou operador de morsa. Veremos o que é esse operador e como ele funciona.

Esse operador permite que você use e atribua uma variável ao mesmo tempo. Ou seja, você consegue utilizar a variável e atribuir um valor a ela em uma única linha de código.

Vamos compreender melhor esse conceito e a utilização do operador walrus em Python por meio de um exemplo prático.

O que é o operador walrus em Python?

Em Python, os operadores são símbolos que executam operações em valores ou variáveis. Podemos utilizá-los para diversas funções, incluindo operações matemáticas, comparações, atribuições, lógicas, associações e muito mais.

O operador walrus é um operador especial representado por := . Ele recebe esse nome por se assemelhar a uma morsa (walrus em inglês) com os olhos e os dois dentões.

Como funciona o operador walrus em Python?

Esse operador é utilizado para atribuir um valor a uma variável e usá-la ao mesmo tempo, tudo em uma única linha de código.

Antes da introdução do operador walrus em Python, era necessário atribuir o valor de um cálculo ou expressão a uma variável e, depois, usá-la em outra linha, como em uma comparação ou em outra expressão.

Através do operador walrus, você pode fazer isso imediatamente. Ou seja, você atribui o valor à variável e já a utiliza em uma expressão na mesma linha. Vamos entender melhor através de um exemplo.

Imagine que você está construindo um código para ajudar uma empresa a determinar a quantidade de bônus que precisa pagar a um funcionário.

A lógica a ser seguida é a seguinte: se as vendas do funcionário forem maiores do que R$ 1000,00, ele receberá um bônus de R$ 50,00.

vendas = int(input("Vendas do funcionário: "))

if vendas > 1000:
    bonus = 50
else:
    bonus = 0

print("Bonus: ", bonus)

Nesse código, estamos obtendo o valor que o usuário inseriu no input, convertendo-o para um número inteiro e verificando se ele é maior que 1000. Se for, atribuímos o bônus de 50; caso contrário, o bônus será 0.

É importante destacar que, para simplificar o exemplo, estamos partindo do pressuposto de que todas as entradas serão fornecidas corretamente e apenas com números inteiros.

Se executarmos esse código, veremos que ele funcionará corretamente.

Cálculo do bonus inicial

Mas repare no seguinte: estamos atribuindo o input primeiro à variável vendas e depois fazendo a comparação dentro do if. No entanto, essa variável não é mais utilizada em nenhum outro momento dentro do código. Dessa forma, poderíamos colocar o próprio input na comparação.

if int(input("Vendas do funcionário: ")) > 1000
    bonus = 50
else:
    bonus = 0

print("Bonus: ", bonus)

Estamos usando o input como referência, mas isso também seria válido para uma função, por exemplo. Em vez de armazenar o resultado dela em uma variável, você poderia passá-la diretamente dentro do if.

Agora, vamos utilizar o código acima para ilustrar o uso do operador walrus em Python. Suponha que uma nova regra de bônus seja implementada na empresa, onde o valor será correspondente a 5% do total de vendas do funcionário (0.05 * vendas).

No entanto, perceba que não temos mais a variável vendas. Para resolver essa situação, poderíamos retornar o código à sua forma anterior, atribuindo o input a uma variável chamada vendas.

vendas = int(input("Vendas do funcionário: "))

if vendas > 1000:
    bonus = 0.05 * vendas
else:
    bonus = 0

print("Bonus: ", bonus)

Porém, observe que foi necessário modificar três linhas do código para aplicar essas mudanças no cálculo do bônus. Podemos simplificar essa abordagem utilizando o operador walrus para ser mais prático e direto.

if (vendas := int(input("Vendas do funcionário: "))) > 1000:
    bonus = 0.05 * vendas
else:
    bonus = 0

print("Bonus: ", bonus)
print("Vendas:", vendas)

Dessa forma, conseguimos definir a variável vendas em uma única linha, utilizando o input, e salvando o valor atribuído a ela para, em seguida, fazer a comparação. No final, podemos até mesmo dar um print no valor de vendas, além do bônus.

Observação: É necessário colocar toda a expressão entre parênteses para garantir a correta interpretação do operador walrus.

Cálculo do bonus com operador walrus em python

Esses são exemplos de casos em que o operador walrus em Python é utilizado. Você pode aplicá-lo em estruturas condicionais (if), loops (for e while) sempre que quiser atribuir e salvar o valor em uma variável e utilizá-la em sequência.

Vale ressaltar que o uso do operador walrus em Python dependerá das suas necessidades. Não é obrigatório utilizá-lo, mas pode ser útil para facilitar a manutenção de um código existente ou simplificar algum processo do seu código.

Cuidado com o operador walrus em Python

Como eu mostrei anteriormente, o walrus operator pode ser uma forma útil de simplificar ou auxiliar em um processo específico no código, ou em sua manutenção. No entanto, é importante ter cuidado ao usá-lo e não abusar do seu uso de forma indiscriminada.

É recomendável utilizar o operador walrus em casos mais simples, evitando inseri-lo em linhas de código que já estão carregadas de informações, pois isso pode dificultar a leitura e compreensão do código, tanto para você no futuro, quanto para outros desenvolvedores que possam trabalhar no mesmo projeto.

Busque encontrar um equilíbrio entre a concisão do código e sua legibilidade. É crucial evitar repetições desnecessárias e linhas de código excessivamente longas, mas também é fundamental garantir que o código seja claro e de fácil entendimento.

A decisão de utilizar o operador walrus em Python deve ser baseada na sua preferência, na legibilidade do código e nas necessidades específicas do projeto em questão.

Porém, tenha cuidado e avalie se sua aplicação contribuirá para a clareza e manutenibilidade do código em questão.

Conclusão – Operador Walrus em Python

Nessa aula, expliquei o que é e como usar o operador walrus em Python. Através de exemplos práticos, pudemos compreender como esse operador pode simplificar nossos códigos e facilitar sua manutenção.

Esse conhecimento permitirá que você aprimore sua escrita de código e compreenda melhor quando estiver lendo o código de outros desenvolvedores e se deparar com esse operador.

Agora você já pode aplicar o operador walrus em seus próprios códigos, principalmente em estruturas condicionais (if) e loops (for e while).

 Lembre-se, no entanto, de usar o operador walrus em situações mais simples, de forma a não comprometer a legibilidade e compreensão do seu código.

Com a correta aplicação do operador walrus, você poderá escrever códigos mais concisos e eficientes, facilitando a manutenção e o entendimento do seu trabalho.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?