Apprendre la programmation fonctionnelle en Python
Un tutoriel de Mary Rose Cook traduit par Laurent Rosenfeld
Le 2017-03-14 15:02:45, par Community Management, Community Manager
Chers membres du club,
J'ai le plaisir de vous présenter ce tutoriel de Mary Rose Cook pour vous apprendre la programmation fonctionnelle en Python.
Bonne lecture .
Retrouvez les meilleurs cours et tutoriels pour apprendre Python
J'ai le plaisir de vous présenter ce tutoriel de Mary Rose Cook pour vous apprendre la programmation fonctionnelle en Python.
Quand on aborde la programmation fonctionnelle, c'est souvent pour parler d'un nombre étourdissant de caractéristiques « fonctionnelles » : les données immuables, les fonctions de première classe et l'optimisation de la récursion terminale. Ces fonctionnalités ne sont que des caractéristiques de langage qui facilitent la programmation fonctionnelle. On parle aussi de mappage, de réduction, de pipeline, de récursion, de curryfication et d'utilisation des fonctions d'ordre supérieur. Ce sont des techniques de programmation employées pour écrire du code fonctionnel. Il est enfin question de parallélisation, d'évaluation paresseuse et de déterminisme. Ce ne sont que des propriétés avantageuses des programmes fonctionnels.
-
fred1599Expert éminentÇa fait 10 ans qu'on est en version python 3.x ! Quand est-ce que les gens comprendront qu'il faut quitter la version 2.x quand il est possible de le faire ? Pour un tutoriel c'est le cas...
Pour reduce, il vire dans la version 3.x, même si on le retrouve grâce au module functools, mais que dit la doc ?if you really need it; however, 99 percent of the time an explicit for loop is more readable.
La principale raison de mon intervention ici, restera donc la version python !le 15/03/2017 à 6:45 -
wiztricksExpert éminent séniorLa version de Python ne change pas grand chose côté "fonctionnalités" que le tuto. essaie de mettre en valeur, c'est juste un plus. Mais le but reste de dire qu'on peut faire des choses dans ce style avec Python et pour ce qui veulent approfondir, c'est pas comme si la documentation Python ne venait pas avec un how-to à jour et bien plus complet.
- Wle 15/03/2017 à 18:37 -
BufferBobExpert éminentc'est étrange d'ailleurs, non ? autant map() et filter() je peux comprendre qu'une list comprehension remplace avantageusement y compris en terme de lisibilité, autant reduce() on le remplace par quoi ? on se retrouve obligé de dérouler le code ?le 15/03/2017 à 10:48
-
fred1599Expert éminentSalut wiztricks,Mais le but reste de dire qu'on peut faire des choses dans ce style avec Python
Ce qui est pénible est de voir en 2017 des tutoriels avec une version 2.x, qu'il n'est quand même pas difficile de se mettre à jour entre les deux versions afin de rendre plus facile l'apprentissage d'un débutant utilisant la version 3.x
Le How-to est bien plus complet, mais je suis sûr que la langue de shakespeare ne facilite pas la tâche de certains lecteurs.le 15/03/2017 à 21:18 -
wiztricksExpert éminent séniorOn le remplace par functools.reduce. i.e. c'est juste passé du module builtins à la bibliothèque functools.
- Wle 15/03/2017 à 14:27 -
BufferBobExpert éminentoui ça se tient en fait
merci le 15/03/2017 à 18:20