oui, ton exemple est un exemple de mauvais code Python. Mais comme déjà dit, on peut faire des trucs sales dans tous les langages, y compris en C.
Mais voilà deux autres exemples de code
current_line = file_descriptor.readline()
current_line = int(current_line) # on sait que le fichier contient que des entiers
=> bouh, c'est sale, on change le type de current_line (de str à int).
int i;
for(i = 0; i < 10; i++) { blablabla }
[...]
i = mon_appel_de_fonction();
i += 42;
return i;
=> ouf, c'est bon, i reste un entier. Pourtant, je trouve que c'est bien pire que l'exemple précédent, vu que la sémantique de i a complètement changé entre les deux utilisations.
Alors, oui, l'inférence de type est plus propre, mais par définition c'est plus contraignant et ne permet pas la souplesse offerte par Python (genre la construction dynamique des types, la récupération des arguments dans un dictionnaire, etc.).
[^] # Re: IDE python
Posté par flan (site web personnel) . En réponse au journal Point de vue : un IDE est il un outil de programmation indispensable ?. Évalué à 3.
oui, ton exemple est un exemple de mauvais code Python. Mais comme déjà dit, on peut faire des trucs sales dans tous les langages, y compris en C.
Mais voilà deux autres exemples de code
=> bouh, c'est sale, on change le type de current_line (de str à int).
=> ouf, c'est bon, i reste un entier. Pourtant, je trouve que c'est bien pire que l'exemple précédent, vu que la sémantique de i a complètement changé entre les deux utilisations.
Alors, oui, l'inférence de type est plus propre, mais par définition c'est plus contraignant et ne permet pas la souplesse offerte par Python (genre la construction dynamique des types, la récupération des arguments dans un dictionnaire, etc.).