+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Community Manager

    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2015
    Messages
    1 434
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2015
    Messages : 1 434
    Points : 4 175
    Points
    4 175

    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
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  2. #2
    Membre expert
    Avatar de fred1599
    Homme Profil pro
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    2 195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 195
    Points : 3 522
    Points
    3 522

    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 confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    novembre 2010
    Messages
    2 178
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 178
    Points : 5 885
    Points
    5 885

    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 ?
    Avant donc que d'écrire, apprenez à penser.
    Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
                                                        - Nicolas Boileau, L'Art poétique

  4. #4
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    10 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 10 145
    Points : 16 556
    Points
    16 556

    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 confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    novembre 2010
    Messages
    2 178
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 178
    Points : 5 885
    Points
    5 885

    Par défaut

    oui ça se tient en fait merci
    Avant donc que d'écrire, apprenez à penser.
    Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
                                                        - Nicolas Boileau, L'Art poétique

  6. #6
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    10 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 10 145
    Points : 16 556
    Points
    16 556

    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
    Membre expert
    Avatar de fred1599
    Homme Profil pro
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    2 195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 195
    Points : 3 522
    Points
    3 522

    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 Laethy 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