Neste artigo, aprenderemos sobre asserção em Python usando assert.
O que é afirmação?
Asserções são declarações que afirmam ou declaram um fato com segurança em seu programa. Por exemplo, ao escrever uma função de divisão, você está confiante de que o divisor não deve ser zero, você afirma que divisor não é igual a zero.
Asserções são simplesmente expressões booleanas que verificam se as condições retornam verdadeiras ou não. Se for verdade, o programa não faz nada e passa para a próxima linha de código. No entanto, se for falso, o programa para e emite um erro.
É também uma ferramenta de depuração, pois interrompe o programa assim que ocorre algum erro e mostra em que ponto do programa ocorreu o erro.
Podemos ser claros observando o fluxograma abaixo:
Declaração Python assert
Python tem uma assert
instrução embutida para usar a condição de asserção no programa. assert
declaração tem uma condição ou expressão que deve ser sempre verdadeira. Se a condição for falsa, assert interrompe o programa e fornece um AssertionError
.
Sintaxe para usar Assert em Pyhton:
afirmar
afirmar,
Em Python, podemos usar a assert
instrução de duas maneiras, conforme mencionado acima.
assert
declaração tem uma condição e se a condição não for satisfeita o programa irá parar e darAssertionError
.assert
declaração também pode ter uma condição e uma mensagem de erro opcional. Se a condição não for satisfeita, o assert interrompe o programa e exibeAssertionError
a mensagem de erro.
Vejamos um exemplo, onde temos uma função que irá calcular a média dos valores passados pelo usuário e o valor não deve ser uma lista vazia. Usaremos a assert
instrução para verificar o parâmetro e se o comprimento da lista passada for zero, o programa será interrompido.
Exemplo 1: usando assert sem mensagem de erro
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Quando executamos o programa acima, a saída será:
AssertionError
Recebemos um erro quando passamos uma lista vazia mark1 para o comando assert
, a condição se tornou falsa e o assert para o programa e dá AssertionError
.
Agora vamos passar outra lista que irá satisfazer a assert
condição e ver qual será a nossa saída.
Exemplo 2: Usando assert com mensagem de erro
def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))
Quando executamos o programa acima, a saída será:
Média de mark2: 78,0 AssertionError: A lista está vazia.
Passamos uma lista não vazia mark2 e também uma lista vazia mark1 para a avg()
função e obtivemos a saída para a lista mark2, mas depois disso tivemos um erro AssertionError: List is empty
. A assert
condição foi satisfeita pela lista mark2 e pelo programa para continuar em execução. No entanto, mark1 não satisfaz a condição e fornece um AssertionError
.
Pontos-chave a serem lembrados
- Asserções são a condição ou expressão booleana que sempre deve ser verdadeira no código.
assert
declaração leva uma expressão e uma mensagem opcional.assert
declaração é usada para verificar tipos, valores de argumento e a saída da função.assert
instrução é usada como ferramenta de depuração, pois para o programa no ponto em que ocorre um erro.