1. Home
  2. Criador de Sites
  3. Assert no Python: descubra como usar

Assert no Python: descubra como usar

O Python é uma linguagem de programação conhecida por sua simplicidade e poder, oferecendo uma vasta gama de recursos para desenvolvedores de todos os níveis. Um desses recursos é o comando assert, uma ferramenta para depurar e verificar a integridade de um código.

Porém, muitos programadores podem não estar familiarizados com o potencial e a utilidade do assert em suas atividades de desenvolvimento.

Neste artigo, vamos explorar o comando assert no Python e descobrir como ele pode ser usado para garantir um código correto, identificar problemas rapidamente e melhorar a robustez das suas aplicações. 

Se você está interessado em aprimorar suas habilidades de programação em Python, continue lendo para aprender tudo sobre o assert e como ele pode facilitar sua vida como desenvolvedor.

Como funciona o comando Assert no Python e para que serve?


O comando assert no Python é uma forma de verificar se uma condição é verdadeira em um determinado ponto do código. Se a condição for verdadeira, o programa continua sua execução normalmente. No entanto, se a condição for falsa, o comando assert gera uma exceção do tipo AssertionError, interrompendo a execução do programa. 

O comando assert é frequentemente usado durante o desenvolvimento para verificar suposições sobre o estado do programa e garantir que certas condições sejam atendidas. Ele é útil para detectar erros e problemas de lógica no código. 

Qual a sua sintaxe? 

A sintaxe básica do comando assert é a seguinte: 

assert condição, mensagem_de_erro_opcional 
  • condição: É a condição que você deseja verificar. Se a expressão for avaliada como False, o assert levantará uma exceção AssertionError. 
  • mensagem_de_erro_(opcional): É uma mensagem de erro opcional que você pode fornecer para ser exibida se a condição falhar. Essa mensagem é útil para identificar o motivo pelo qual a asserção falhou. 

Quando utilizar o comando assert no Python

O comando assert no Python pode ser utilizado em diferentes contextos para verificação do seu código. Listamos abaixo os exemplos de uso:

  • Verificação de pré-condições: Antes de executar uma função ou método, você pode usar assert para verificar se os parâmetros de entrada atendem às condições necessárias para o funcionamento correto da função. 
def divide(x, y): 

assert y != 0, "Divisão por zero não é permitida" 

return x / y 
  • Testes unitários: Ao escrever testes unitários, o assert é frequentemente usado para verificar se o comportamento do código é como o esperado. 
def test_addition(): 

assert add(2, 3) == 5 
  • Depuração: Durante a depuração do código, você pode usar assert para verificar se as variáveis têm valores esperados em pontos-chave do programa. 
def some_function(x): 

      assert x > 0, "O valor de x não é positivo" 
  • Checagem de invariáveis: Em código onde certas condições devem ser verdadeiras em determinados momentos, assert pode ser usado para garantir que essas condições sejam mantidas. 
def update_balance(amount): 

      assert balance >= 0, "O saldo não pode ser negativo" 

      balance += amount 

Cuidados com o assert 

É importante notar que o assert deve ser usado com cuidado. Aqui estão algumas considerações: 

  • Não use assert para validação de entrada de usuário: O assert deve ser usado para verificar condições que você sabe que sempre devem ser verdadeiras, não para validar entrada fornecida pelo usuário. Para validação de entrada, é melhor usar estruturas de controle condicionais e levantar exceções apropriadas. 
  • Não confie no assert para verificar a segurança do código: Quando o Python é executado em modo otimizado (-O), todas as declarações assert são removidas do código, o que significa que elas não têm efeito. Portanto, não use assert para verificar questões de segurança ou para garantir a integridade de dados sensíveis. 
  • Desative assert em código de produção: Em ambientes de produção, é uma prática comum desativar o comando assert definindo a variável de ambiente PYTHONOPTIMIZE para um valor diferente de zero. Isso garante que o desempenho do programa não seja afetado pela verificação de condições assert que não são necessárias durante a execução normal do código. 

Como usar o assert no Python? 

Para usar o comando assert no Python, você simplesmente o inclui em seu código onde deseja verificar uma condição específica. Aqui está a sintaxe básica do assert: 

assert condição [, mensagem_de_erro]  

Aqui está um exemplo simples: 

x = 5  
assert x == 5  

Neste exemplo, o assert verifica se x é igual a 5. Como essa condição é verdadeira, o programa continuará sua execução normalmente. 

Você também pode incluir uma mensagem de erro opcional para ser exibida caso a condição não seja atendida: 

x = 5 assert  
x == 10, "O valor de x não é 10"  

Neste exemplo, se o valor de x não for 10, o programa será interrompido e exibirá a mensagem de erro “O valor de x não é 10”. 

Aqui está outro exemplo que demonstra como você pode usar assert para verificar pré-condições em uma função: 

def divide(x, y):  

assert y != 0, "Divisão por zero não é permitida" 

     return x / y 
 
     print(divide(10, 2))   

     Saída: 5.0 

     print(divide(10, 0))   

Isso gerará uma exceção AssertionError com a mensagem “Divisão por zero não é permitida” 

É importante notar que, por padrão, o Python é executado em um modo otimizado onde as declarações assert são ignoradas. Para ativar as verificações assert, você pode executar seu script Python com a opção -O. Por exemplo: 

python -O meu_script.py  

Se desejar, você pode até mesmo desativar completamente todas as verificações assert em seu código passando a opção -OO: 

python -OO meu_script.py  

Lembre-se de que, embora o assert seja uma ferramenta útil para depuração e garantia de qualidade durante o desenvolvimento, ele deve ser usado com sabedoria e não deve substituir o tratamento adequado de erros e exceções em seu código. 

Leve seu código Python para o próximo nível com o a infraestrutura poderosa da Locaweb! 

Se você busca uma infraestrutura robusta e confiável para hospedar suas aplicações Python, conheça as soluções de Cloud Server Pro e VPS da Locaweb.

Com servidores exclusivos e alto desempenho, a Locaweb oferece o ambiente ideal para suas aplicações Python decolarem. 

Não perca tempo, dê o próximo passo no desenvolvimento de suas aplicações Python e conte com a Locaweb para fornecer a infraestrutura que seu projeto merece!  

Mais alguns exemplos 

Aqui estão alguns exemplos adicionais de como você pode usar o assert em Python em diferentes contextos: 

  • Verificação de tipos de dados: 
def soma(a, b): 

     assert isinstance(a, int) and isinstance(b, int), "A e B devem ser inteiros" 

     return a + b 

print(soma(2, 3))   

     Saída: 5 

print(soma('a', 3))  

Isso gerará uma exceção AssertionError com a mensagem “A e B devem ser inteiros” 

  • Checagem de valores dentro de faixas específicas: 
def calcular_imc(peso, altura): 

     assert peso > 0 and altura > 0, "Peso e altura devem ser maiores que zero" 

     return peso / altura**2 

print(calcular_imc(70, 1.75))   

     Saída: 22.86 

print(calcular_imc(-70, 1.75))  

Isso gerará uma exceção AssertionError com a mensagem “Peso e altura devem ser maiores que zero” 

  • Verificação de comprimento de sequências: 
def encontrar_maior(lista): 

     assert len(lista) > 0, "A lista não pode estar vazia" 
 
     return max(lista) 

print(encontrar_maior([1, 2, 3, 4]))   

     Saída: 4 

print(encontrar_maior([]))   

Isso gerará uma exceção AssertionError com a mensagem “A lista não pode estar vazia” 

  • Testes de invariáveis: 
class Pilha: 

def __init__(self): 

     self.items = [] 

def empilhar(self, item): 

     self.items.append(item) 

def desempilhar(self): 

     assert len(self.items) > 0, "Não é possível desempilhar de uma pilha vazia" 

     return self.items.pop() 

p = Pilha() 

p.empilhar(1) 

print(p.desempilhar())   

Saída: 1 

print(p.desempilhar())   

Isso gerará uma exceção AssertionError com a mensagem “Não é possível desempilhar de uma pilha vazia” 

Conclusão 

O assert é uma ferramenta poderosa para depuração e garantia de que seu código esteja funcionando corretamente. Ao utilizá-lo com sabedoria, você pode verificar as condições esperadas em seu código e identificar rapidamente possíveis erros ou problemas. 

No entanto, é importante usar o assert com cautela e manter suas condições claras e explícitas. Certifique-se de que suas asserções sejam relevantes e significativas para o contexto do seu programa. Isso ajudará a evitar falsos positivos e garantir que seu código seja mais robusto.

Este artigo foi útil ?

Artigos relacionados