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?

Quer sair do zero no Power BI e impressionar no Mercado de Trabalho? Inscreva-se no Power BI Impressionador!