Normalement dans les versions avant la 3.10 on peut importer la librairie "typing" (pas besoin de l'installer) depuis laquelle on peut importer List ou Tuple (avec des majuscules) qui, eux, sont génériques
C'est pas si simple de répondre à la question. Il ne faut pas oublier qu'à l'exécution, aucune vérification ne sera faite. Donc si tu est le seul à utiliser tes fonctions et que tu as vérifier le typage via un outil d'analyse statique (comme PyCharm ou mypy), alors oui tu peux enlever les vérifications et les raises : du coup, le programme sera plus rapide. Si au contraire tu fournis tes fonctions à d'autres développeurs, alors tu n'est pas certains qu'ils lanceront des analyses statiques de code (et de typage) : du coup, il est préférable de garder les vérifications et les raises : c'est, par exemple, ce que font les fonctions mathématiques du module math (effectivement, ce module est disponible pour la terre entière). En espérant t'avoir aidé.
je trouvais ça bien moi qu'il n y ait pas de typage et que c’était automatique....je trouvais que la syntaxe était simplifiée. Du coup je vois plus l’intérêt du python autant programmer en C++.
Bonjour. Attention, il n'y a pas que le langage, il y a aussi les librairies. A mon sens, et de ce point de vue, C++ est bien moins riche que Python (a débattre). Maintenant et indépendamment du langage, le typage devient presque obligatoire quand tu commence à avoir un gros programme complexe (c'est une véritable aide au développement, du moins à mon sens). L'avantage de Python, c'est que tu as le choix : si tu n'est pas convaincu par le typage, tu peux ne pas le faire :-) Pour appuyer mon débat, j'ai envi de parler d'un autre langage de programmation : JavaScript. Pendant des années, on à fait sans le typage (un peu comme en Python). Du coup, on a tous galéré. Résultats, Microsoft et Google, qui développent énormément d'applications basées sur JavaScript (Gmail, Maps, Office 365...), ont proposés deux évolutions "typées" de JavaScript : TypeScript et Dart. Certains frameworks de dév. web ont imposés l'utilisation de ces langages dérivés comme, par exemple, Angular qui impose TypeScript. A méditer...
Normalement dans les versions avant la 3.10 on peut importer la librairie "typing" (pas besoin de l'installer) depuis laquelle on peut importer List ou Tuple (avec des majuscules) qui, eux, sont génériques
Tout à fait.
Est ce que le typage permet d'enlever les raise error?
C'est pas si simple de répondre à la question. Il ne faut pas oublier qu'à l'exécution, aucune vérification ne sera faite. Donc si tu est le seul à utiliser tes fonctions et que tu as vérifier le typage via un outil d'analyse statique (comme PyCharm ou mypy), alors oui tu peux enlever les vérifications et les raises : du coup, le programme sera plus rapide. Si au contraire tu fournis tes fonctions à d'autres développeurs, alors tu n'est pas certains qu'ils lanceront des analyses statiques de code (et de typage) : du coup, il est préférable de garder les vérifications et les raises : c'est, par exemple, ce que font les fonctions mathématiques du module math (effectivement, ce module est disponible pour la terre entière). En espérant t'avoir aidé.
super ! merci beaucoup
je trouvais ça bien moi qu'il n y ait pas de typage et que c’était automatique....je trouvais que la syntaxe était simplifiée.
Du coup je vois plus l’intérêt du python autant programmer en C++.
Bonjour. Attention, il n'y a pas que le langage, il y a aussi les librairies. A mon sens, et de ce point de vue, C++ est bien moins riche que Python (a débattre). Maintenant et indépendamment du langage, le typage devient presque obligatoire quand tu commence à avoir un gros programme complexe (c'est une véritable aide au développement, du moins à mon sens). L'avantage de Python, c'est que tu as le choix : si tu n'est pas convaincu par le typage, tu peux ne pas le faire :-)
Pour appuyer mon débat, j'ai envi de parler d'un autre langage de programmation : JavaScript. Pendant des années, on à fait sans le typage (un peu comme en Python). Du coup, on a tous galéré. Résultats, Microsoft et Google, qui développent énormément d'applications basées sur JavaScript (Gmail, Maps, Office 365...), ont proposés deux évolutions "typées" de JavaScript : TypeScript et Dart. Certains frameworks de dév. web ont imposés l'utilisation de ces langages dérivés comme, par exemple, Angular qui impose TypeScript. A méditer...