A linguagem Python fornece a palavra reservada ou comando assert que pode ser utilizada para fins de debug em nossas aplicações. Os asserts são desconsiderados em quando utilizada a flag -o na compilação do script.

Sintaxe
assert <condition>
Onde
condition: expressão para validar
Retorno
True: expressão verdadeira. 
False: AssertionError

Quando um assert retorna False, a execução do programa é interrompida imediatamente.

Exemplo 1
valor = -1
desc = "string"

assert desc == "string" or valor == -1 #ok
print(desc,valor);

valor = 0
desc = "olá"

assert desc == "" or valor == -1 #erro
print(desc,valor);
Saída
string -1
Traceback (most recent call last):
  File "/home/main.py", line 10, in 
    assert desc == "" or valor == -1
           ^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

O uso de assert não é recomendado para validações de entrada de dados do usuário tão pouco capturar erro de assert com try-catch.

Caso seja necessário exibir uma mensagem para um assert, isso pode ser feito de acordo com a sintaxe abaixo:

Sintaxe
assert <condition>,<error_message>
Onde
condition: expressão para validação
error_message: mensagem de erro opcional
Retorno
True: expressão verdadeira. 
False: AssertionError
Exemplo 2
lista = [1,2,3]
assert len(lista) > 0,"a lista está vazia."

valor = 0
assert valor != 0,f"o valor {valor} não aceito" #interpolaçã
Saída
Traceback (most recent call last):
  File "/home/main.py", line 18, in 
    assert valor != 0,f"{valor} não aceito"
           ^^^^^^^^^^
AssertionError: o valor 0 não aceito

De forma semelhante ao que foi visto, podemos utilizar assert em métodos e funções para fins de debug.

Exemplo 3
def funcao(valor):
    assert valor != 0,f"o valor {valor} não aceito" #f-string
    print(valor)
    
funcao(0)
  1. 12/09/2025 - revisão 1 - Ajustes: pontuais, sintaxes e objetivos
  2. 09/06/2025 - versão inicial