{"id":5761,"date":"2024-08-29T05:04:23","date_gmt":"2024-08-29T05:04:23","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/utiliser-les-fonctions-lambda-en-python\/"},"modified":"2024-08-29T05:04:26","modified_gmt":"2024-08-29T05:04:26","slug":"utiliser-les-fonctions-lambda-en-python","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/utiliser-les-fonctions-lambda-en-python\/","title":{"rendered":"3.3 Utiliser les Fonctions Lambda en Python"},"content":{"rendered":"\n<p><strong>Utiliser les Fonctions Lambda en Python<\/strong> est un moyen \u00e9l\u00e9gant et concis d&rsquo;\u00e9crire de petites fonctions anonymes sans avoir besoin de les d\u00e9clarer formellement avec un nom. Les lambdas jouent un r\u00f4le crucial en simplifiant le code, surtout lorsqu&rsquo;il s&rsquo;agit de fonctions temporaires qui n&rsquo;ont pas besoin d&rsquo;\u00eatre r\u00e9utilis\u00e9es ailleurs. Apprenons comment utiliser les fonctions lambda en Python \u00e0 travers des exemples concrets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction aux <strong>Fonctions Lambda en Python<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583340938?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>Une <strong>fonction lambda<\/strong> en Python est une expression qui d\u00e9finit une petite fonction anonyme. Les lambdas sont souvent utilis\u00e9es pour des op\u00e9rations simples et peuvent prendre n&rsquo;importe quel nombre d&rsquo;arguments, mais ne peuvent contenir qu&rsquo;une seule expression. La syntaxe g\u00e9n\u00e9rale d&rsquo;une fonction lambda est :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>lambda arguments: expression<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9finir et Utiliser une Fonction Lambda<\/h3>\n\n\n\n<p>Voici un exemple simple de fonction lambda qui ajoute deux nombres :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Fonction lambda pour additionner deux nombres\nadditionner = lambda x, y: x + y\n\n# Utilisation de la fonction lambda\nresultat = additionner(10, 5)\nprint(resultat)  # Sortie : 15\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser les Lambdas comme Fonctions de Rappel<\/h3>\n\n\n\n<p>Les fonctions lambda sont tr\u00e8s utiles comme fonctions de rappel dans les m\u00e9thodes comme <code>sort()<\/code> ou <code>map()<\/code>. Par exemple, pour trier une liste de tuples en fonction de leur deuxi\u00e8me \u00e9l\u00e9ment :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Liste de tuples\netudiants = [(\"Alice\", 25), (\"Bob\", 22), (\"Charlie\", 23)]\n\n# Trie de la liste par l'\u00e2ge (deuxi\u00e8me \u00e9l\u00e9ment du tuple)\netudiants_tris = sorted(etudiants, key=lambda etudiant: etudiant[1])\n\nprint(etudiants_tris)\n# Sortie : [('Bob', 22), ('Charlie', 23), ('Alice', 25)]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser les Lambdas avec <code>map<\/code> et <code>filter<\/code><\/h3>\n\n\n\n<p>Les fonctions <code>map()<\/code> et <code>filter()<\/code> sont \u00e9galement tr\u00e8s puissantes en combinaison avec les lambdas. La fonction <code>map()<\/code> applique une fonction \u00e0 tous les \u00e9l\u00e9ments d&rsquo;une liste, tandis que <code>filter()<\/code> cr\u00e9e une sous-liste de tous les \u00e9l\u00e9ments qui satisfont une certaine condition.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Utiliser map avec une fonction lambda pour doubler les valeurs d'une liste\nnombres = [1, 2, 3, 4, 5]\ndoubles = list(map(lambda x: x * 2, nombres))\nprint(doubles)  # Sortie : [2, 4, 6, 8, 10]\n\n# Utiliser filter avec une fonction lambda pour trouver les nombres pairs\npairs = list(filter(lambda x: x % 2 == 0, nombres))\nprint(pairs)  # Sortie : [2, 4]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Combiner les Lambdas avec d&rsquo;autres Fonctions Int\u00e9gr\u00e9es<\/h3>\n\n\n\n<p>Les lambdas se combinent tr\u00e8s bien avec d&rsquo;autres fonctions int\u00e9gr\u00e9es ainsi qu&rsquo;avec des structures de donn\u00e9es comme les dictionnaires et les listes. Voici comment utiliser les lambdas pour extraire les \u00e9l\u00e9ments maximaux ou minimaux d&rsquo;un dictionnaire bas\u00e9 sur ses valeurs :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Dictionnaire de scores\nscores = {\"Alice\": 85, \"Bob\": 92, \"Charlie\": 90}\n\n# Trouver l'\u00e9tudiant avec le score maximal\nmeilleur_etudiant = max(scores, key=lambda k: scores[k])\nprint(meilleur_etudiant)  # Sortie : Bob\n\n# Trouver l'\u00e9tudiant avec le score minimal\npire_etudiant = min(scores, key=lambda k: scores[k])\nprint(pire_etudiant)  # Sortie : Alice\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser les Lambdas avec <code>reduce<\/code><\/h3>\n\n\n\n<p>La fonction <code>reduce()<\/code>, qui fait partie du module <code>functools<\/code>, applique une fonction de mani\u00e8re cumulative \u00e0 une liste d&rsquo;\u00e9l\u00e9ments, de gauche \u00e0 droite, pour r\u00e9duire cette liste \u00e0 une seule valeur. Voici un exemple o\u00f9 nous utilisons <code>reduce()<\/code> pour calculer le produit de tous les \u00e9l\u00e9ments d&rsquo;une liste :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>from functools import reduce\n\n# Liste de nombres\nnombres = [1, 2, 3, 4, 5]\n\n# Utiliser reduce avec une fonction lambda pour calculer le produit de tous les nombres\nproduit = reduce(lambda x, y: x * y, nombres)\nprint(produit)  # Sortie : 120\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Fonctions Lambda en Python et Gestion d&rsquo;erreurs<\/h3>\n\n\n\n<p>Les fonctions lambda, bien qu&rsquo;utile pour leur concision, n\u00e9cessitent parfois une gestion d&rsquo;erreurs pour garantir une ex\u00e9cution sans probl\u00e8me. Lors de la cr\u00e9ation de fonctions lambda complexes, il est important de les ins\u00e9rer dans des blocs <code>try-except<\/code>. Pour une gestion efficace des erreurs, consultez notre guide sur <a href=\"https:\/\/wikiform.fr\/codespace\/gerer-erreurs-et-exceptions-en-python\">G\u00e9rer erreurs et exceptions en Python<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Gestion des erreurs dans une fonction lambda\nsafe_divide = lambda x, y: x \/ y if y != 0 else 'Division par z\u00e9ro non permise'\n\n# Utilisation de la fonction lambda\nresultat = safe_divide(10, 2)\nprint(resultat)  # Sortie : 5.0\n\nresultat = safe_divide(10, 0)\nprint(resultat)  # Sortie : Division par z\u00e9ro non permise\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Lambdas et Premiers Programmes<\/h3>\n\n\n\n<p>D\u00e8s que vous avez install\u00e9 Python sur votre machine, quelle que soit la plateforme, il est crucial de se familiariser avec l&rsquo;\u00e9criture de petits programmes. Les fonctions lambda simplifient souvent ce processus. Pour un guide complet sur comment d\u00e9marrer, consultez nos tutoriels sur <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-mac-2024-guide-complet\">installer Python sur Mac<\/a>, <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-windows-facilement\">installer Python sur Windows<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-linux-ubuntu-etape-par-etape\">installer Python sur Linux Ubuntu<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser des Lambdas dans des Programmes Compliqu\u00e9s<\/h3>\n\n\n\n<p>Les lambdas peuvent \u00e9galement faire partie de projets plus grands lorsqu&rsquo;ils sont correctement combin\u00e9s avec d&rsquo;autres fonctionnalit\u00e9s de Python. Par exemple, lors du d\u00e9veloppement d&rsquo;applications graphiques avec Tkinter, les lambdas peuvent am\u00e9liorer la gestion des \u00e9v\u00e9nements. Vous pouvez voir comment cela fonctionne dans notre guide sur <a href=\"https:\/\/wikiform.fr\/codespace\/creer-une-fenetre-avec-tkinter-tutoriel\">cr\u00e9er une fen\u00eatre avec Tkinter<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>En conclusion, les <strong>fonctions lambda en Python<\/strong> offrent un moyen succinct et efficace d&rsquo;\u00e9crire de petites fonctions anonymes. Bien qu&rsquo;elles soient limit\u00e9es \u00e0 une seule expression, elles sont extr\u00eamement utiles dans des situations o\u00f9 des fonctions temporaires sont n\u00e9cessaires, comme lors de l&rsquo;utilisation de m\u00e9thodes de tri, de filtrage et de mappage. Nous esp\u00e9rons que ce tutoriel vous a aid\u00e9 \u00e0 comprendre les bases des lambdas et leurs applications. Pour plus de tutoriels Python, n&rsquo;h\u00e9sitez pas \u00e0 consulter notre article sur <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\">Devenir un d\u00e9veloppeur Python<\/a>.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n","protected":false},"excerpt":{"rendered":"<p>Utiliser les Fonctions Lambda en Python est un moyen \u00e9l\u00e9gant et concis d&rsquo;\u00e9crire de petites fonctions anonymes sans avoir besoin de les d\u00e9clarer formellement avec&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2969,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5761","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5761"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5761\/revisions"}],"predecessor-version":[{"id":5762,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5761\/revisions\/5762"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2969"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}