Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonctions Génératrices | Spécification de la Valeur de Retour de la Fonction
Tutoriel sur les Fonctions Python
course content

Contenu du cours

Tutoriel sur les Fonctions Python

Tutoriel sur les Fonctions Python

1. Qu'est-ce Qu'une Fonction en Python ?
2. Arguments Positionnels et Optionnels
3. Arguments Arbitraires
4. Spécification de la Valeur de Retour de la Fonction
5. Fonctions de Récursion et Lambda

book
Fonctions Génératrices

Une fonction génératrice est un type spécial de fonction qui utilise le mot-clé yield au lieu de return pour générer une séquence de valeurs. Lorsqu'une fonction génératrice est appelée, elle retourne un objet itérateur, qui peut être parcouru pour récupérer les valeurs une par une.
L'avantage principal des fonctions génératrices est leur efficacité mémoire. Les fonctions génératrices produisent des valeurs à la volée, au moment où elles sont nécessaires, plutôt que de générer toute la séquence à l'avance. Cela les rend particulièrement efficaces en mémoire, surtout lorsqu'on manipule de grands ensembles de données ou des séquences infinies.

Examinons l'exemple d'une génératrice simple. Cette fonction est une génératrice qui renvoie des identifiants un par un à partir de la liste donnée:

12345678910111213141516
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
copy

Le principe d'un générateur est qu'il permet de renvoyer des valeurs une à la fois en utilisant le mot-clé yield, sans toutes les stocker en mémoire simultanément. Dans notre exemple, le générateur unique_logins_from_list parcourt la liste des identifiants, renvoyant chacun lors du yield et se mettant en pause à ce moment-là. Lorsque next() est appelé, le générateur reprend là où il s'était arrêté, générant efficacement des valeurs sans avoir besoin de stocker l'intégralité de la liste en mémoire simultanément. Cela rend les générateurs particulièrement utiles pour gérer de grands ensembles de données ou des flux de données.

Tâche

Swipe to start coding

Créez un générateur qui produit des identifiants uniques. Les identifiants peuvent être, par exemple, des chaînes de caractères au format "ID_1", "ID_2", etc. Chaque fois que vous appelez next(), le générateur doit renvoyer un nouvel identifiant unique.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
toggle bottom row

book
Fonctions Génératrices

Une fonction génératrice est un type spécial de fonction qui utilise le mot-clé yield au lieu de return pour générer une séquence de valeurs. Lorsqu'une fonction génératrice est appelée, elle retourne un objet itérateur, qui peut être parcouru pour récupérer les valeurs une par une.
L'avantage principal des fonctions génératrices est leur efficacité mémoire. Les fonctions génératrices produisent des valeurs à la volée, au moment où elles sont nécessaires, plutôt que de générer toute la séquence à l'avance. Cela les rend particulièrement efficaces en mémoire, surtout lorsqu'on manipule de grands ensembles de données ou des séquences infinies.

Examinons l'exemple d'une génératrice simple. Cette fonction est une génératrice qui renvoie des identifiants un par un à partir de la liste donnée:

12345678910111213141516
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
copy

Le principe d'un générateur est qu'il permet de renvoyer des valeurs une à la fois en utilisant le mot-clé yield, sans toutes les stocker en mémoire simultanément. Dans notre exemple, le générateur unique_logins_from_list parcourt la liste des identifiants, renvoyant chacun lors du yield et se mettant en pause à ce moment-là. Lorsque next() est appelé, le générateur reprend là où il s'était arrêté, générant efficacement des valeurs sans avoir besoin de stocker l'intégralité de la liste en mémoire simultanément. Cela rend les générateurs particulièrement utiles pour gérer de grands ensembles de données ou des flux de données.

Tâche

Swipe to start coding

Créez un générateur qui produit des identifiants uniques. Les identifiants peuvent être, par exemple, des chaînes de caractères au format "ID_1", "ID_2", etc. Chaque fois que vous appelez next(), le générateur doit renvoyer un nouvel identifiant unique.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt