2015-04-20 22:09 GMT+02:00 Enrico Bianchi <enrico.bian...@ymail.com>:

> In questo si, ovvero viene fatto un abuso di type(),


Esatto. Quel codice non va bene poiche' restringe l'input in modo
insensato. Potrebbe funzionare con ben altri input e li sto tagliando fuori
senza motivo.

Ora, riguarda quello iniziale:

def add(x : int, y : int) ...

Vedi che ha lo stesso problema logico? Ovvero, se per qualunque scopo venga
usato (documentazione, static analysis, etc) "mente".  Quello che
probabilmente avresti voluto, sarebbe stato *almeno* annotare con Number.


> senza contare il raise buttato li senza motivo


Il motivo c'e': qualcosa devo fare se decido che gli argomenti non mi vanno
bene.


> (ovvero, avrei almeno messo un else per rendere piu` sensato quel codice)


L'else in questo caso e' purissima questione stilistica (nel senso che
semanticamente non cambia nulla); diciamo che non e' quello il punto, come
non e' il punto che il type error non abbia un messaggio d'errore sensato,
etc etc etc.


-- 
.
..: -enrico-
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a