Duck typing
EAFP vs. LBYL
Il est plus facile de demander le pardon que la permission (EAFP) vs. analyser avant d'échouer (LBYL). Généralement EAFP est préféré, mais pas toujours.
- Duck typing Si ça marche comme un canard, parle comme un canard et ressemble à un canard : c'est un canard.
- Exceptions
Essayez de forcer le type si un objet doit être d'un type particulier.
Si
xdoit être une chaîne de caractères pour que votre code fonctionne, pourquoi ne pas appelerstr(x)au lieu d'essayer quelque` chose commeisinstance(x, str).
Exemple EAFP try/except
Vous pouvez encapsuler vos exceptions dans un bloc try/except pour
pour récupérer les erreurs et vous allez probablement arriver à une solution
qui est beaucoup plus générale que si vous aviez essayer d'anticiper chaque
cas.
try:
return str(x)
except TypeError:
...
Note: Spécifiez toujours l'exception à attraper. N'utilisez jamais
except tout seul. Sinon except va cacher d'autres exceptions qui
risquent d'être levées rendant votre code très difficile à debugger.

