IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apprendre la programmation fonctionnelle en Python
Un tutoriel de Mary Rose Cook traduit par Laurent Rosenfeld

Le , par Laethy

25PARTAGES

8  0 
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.

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.
Bonne lecture .

Retrouvez les meilleurs cours et tutoriels pour apprendre Python

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de fred1599
Expert confirmé https://www.developpez.com
Le 15/03/2017 à 6:45
Ç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.
Et je plussoie ! Mais certes, on parle de fonctionnelle et en parlant de ça, justement, c'est pas le point fort du langage, car très souvent des alternatives à ce mode de pensée sont possibles, plus lisibles et plus efficaces.

La principale raison de mon intervention ici, restera donc la version python !
4  0 
Avatar de wiztricks
Expert éminent sénior https://www.developpez.com
Le 15/03/2017 à 18:37
Citation Envoyé par fred1599 Voir le message
La principale raison de mon intervention ici, restera donc la version python !
La 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.

- W
2  0 
Avatar de BufferBob
Expert éminent https://www.developpez.com
Le 15/03/2017 à 10:48
Citation Envoyé par fred1599 Voir le message
Pour reduce, il vire dans la version 3.x
c'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 ?
1  0 
Avatar de fred1599
Expert confirmé https://www.developpez.com
Le 15/03/2017 à 21:18
Salut wiztricks,

Mais le but reste de dire qu'on peut faire des choses dans ce style avec Python
Oui, j'ai bien compris d'où mon intervention sur la version 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.
1  0 
Avatar de wiztricks
Expert éminent sénior https://www.developpez.com
Le 15/03/2017 à 14:27
Citation Envoyé par BufferBob Voir le message
c'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 ?
On le remplace par functools.reduce. i.e. c'est juste passé du module builtins à la bibliothèque functools.

- W
0  0 
Avatar de BufferBob
Expert éminent https://www.developpez.com
Le 15/03/2017 à 18:20
oui ça se tient en fait merci
0  0