Python 2 VS Python 3 : réalité de terrain 11
jeudi 9 avril 2015 à 11:00A la sortie de Python 3.4, je vous avais dit qu’on pouvait enfin coder sereinement en Python 3. Mais en pratique, qu’est-ce que je vois dans la vie de tous les jours ?
Ca y est, je fais plus de Python 3 que de Python 2 !
50 % de mes formations, on me demande du Python 3. On ne me demande du 2 que pour des personnes coincées avec du code legacy, ou dans des domaines à la traine comme les GIS.
Quand je commence un projet, je commence toujours en python 3, sauf si je dois utiliser Twisted. Tous les autres trucs qui m’intéressent ont été portés. Et vous savez quoi ? Le portage de Twisted a repris de l’allure dernièrement, par des gens motivés par crossbar.io :)
La raison majeure qui me force à faire du Python 2 est le travail sur d’anciens projets comme des sites de culs de Max qui ont été commencé il y a des années.
Bien que je déteste toujours cordialement devoir taper ces putains de parenthèses pour faire un print
, voici ce que j’adore :
- Le texte est 100X plus facile. Je n’ai plus à demander à mes élèves de ne pas mettre d’accents dans leurs programmes avant qu’on arrive à la partie du cours qui explique l’encoding.
- pip est intégré (en Python 2 aussi maintenant, mais seulement sur une version toute neuve). Et le shell autocomplète même sans ipython.
- L’unpacking avancé. C’est pratique. C’est très pratique.
- Les nouvelles exceptions : plus claires, plus facile à comprendre et à filtrer. Love.
- Le nouveau format de retour de la fonction
type()
. Tellement plus logique. - Pas besoin de se poser des questions sur l’usage de
item()
,iteritems()
,items_view()
, etc. - Plein de petits polish. Des inconsistances qu’il fallait connaître par cœur avant ont juste disparu.
En fait, à la programmation, Python 3 est plus sympa, mais pas révolutionnaire. Et puis des détails comme la suppression de %
pour le type byte
a bien fait chier tout le monde, et heureusement a été inversé en 3.5.
Mais par contre à enseigner… C’est juste fantastique. Pour les nouveaux venus, le changement est incroyable.