[Python] __debug__ e EAFP
Roberto Polli
robipolli a gmail.com
Mer 11 Maggio 2016 23:33:44 CEST
Il 11 maggio 2016 16:31, Pietro Battiston <ml a pietrobattiston.it> ha scritto:
> ... condensare ...
>
> if not civico.isdigit():
> raise ValueError("Il numero civico deve essere numerico")
>
> in
>
> assert(civico.isdigit()) "Il numero civico deve essere numerico"
>
Uso assert se il controllo:
- non deve influire sul flusso del programma;
- rappresenta condizioni inaspettate e quindi un bug del programma;
- come placeholder nelle fasi preliminari - chiarito meglio il
flusso li sostituisco con eccezioni;
eg.
```
ret = factorial(n)
assert ret, "Factorial can't be negative. BUG in the program!"
print(ret)
```
Maggiori informazioni sulla lista
Python