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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tutoriel pour apprendre la programmation fonctionnelle en Python


Sujet :

Python

  1. #1
    Community Manager

    Profil pro
    Inscrit en
    Avril 2014
    Messages
    4 207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2014
    Messages : 4 207
    Points : 13 061
    Points
    13 061
    Par défaut Tutoriel pour apprendre la programmation fonctionnelle en Python
    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
    Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 812
    Points : 7 097
    Points
    7 097
    Par défaut
    Ç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 !
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    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 ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    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
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    oui ça se tient en fait merci

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    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
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 812
    Points : 7 097
    Points
    7 097
    Par défaut
    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.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. [Python 3.X] Tutoriel pour apprendre la programmation parallèle en Python
    Par Community Management dans le forum Général Python
    Réponses: 0
    Dernier message: 08/03/2017, 05h03
  2. Tutoriel pour apprendre la programmation Swift sous Linux
    Par Community Management dans le forum Swift
    Réponses: 0
    Dernier message: 07/02/2016, 19h52
  3. Les meilleurs cours et tutoriels pour apprendre la programmation à vos enfants
    Par Community Management dans le forum Programmation pour enfants
    Réponses: 8
    Dernier message: 12/01/2016, 09h54
  4. Réponses: 0
    Dernier message: 16/12/2013, 06h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo