15.12.2022 Views

Python Eficaz

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

palavras-chave como argumentos”). A flexibilidade dos argumentos por palavrachave

permite escrever código que se explica sozinho em qualquer caso de uso.

Por exemplo, digamos que se queira dividir um número por outro, mas com

muito cuidado para reconhecer e tratar os casos especiais. Às vezes, queremos

ignorar uma exceção ZeroDivisionError e simplesmente retornar infinito para o

chamador. Outras vezes, queremos ignorar uma exceção de OverflowError e

retornar o valor zero em seu lugar.

def safe_division(number, divisor, ignore_overflow,

ignore_zero_division):

try:

return number / divisor

except OverflowError:

if ignore_overflow:

return 0

else:

raise

except ZeroDivisionError:

if ignore_zero_division:

return float('inf')

else:

raise

O emprego dessa função é bastante direto. A chamada a seguir ignora o estouro

em float simplesmente retorna zero.

result = safe_division(1, 10**500, True, False)

print(result)

>>>

0.0

A chamada a seguir ignora o erro de dividir por zero e retorna o objeto de

infinito.

result = safe_division(1, 0, False, True)

print(result)

>>>

www.full-ebook.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!