Comments on: Qu’est-ce qu’une coroutine en Python, et à quoi ça sert ? http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: Sam http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-193653 Tue, 17 Apr 2018 18:46:01 +0000 http://sametmax.com/?p=12854#comment-193653 Oui ça rend les choses confuses. Personnellement j’aurais préféré deux instructions distinctes.

Néanmoins les deux opérations ensembles sont très utiles si on souhaiter créer un pipeline de transformation.

]]>
By: Xavier http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-193643 Tue, 17 Apr 2018 07:32:01 +0000 http://sametmax.com/?p=12854#comment-193643 Ce genre de ligne line = yield bad_ips est particulièrement sale, car elle mélange la réception d’une valeur (line) et l’envoi d’une autre valeur (bad_ips), ce qui ne peut que provoquer de la confusion. Un générateur et une coroutine ne sont pas du tout la même chose, et les mélanger dans le même code est un non-sens total, en plus d’embrouiller les débutants.

]]>
By: Coutable http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-188614 Tue, 01 Aug 2017 09:39:20 +0000 http://sametmax.com/?p=12854#comment-188614 Merci je sais ce qu’est une @coroutine désormais ;)

]]>
By: Matthieu http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-184336 Tue, 10 Jan 2017 15:01:38 +0000 http://sametmax.com/?p=12854#comment-184336 Merci pour ton article Sam, je suis tombé sur ces typos :

vous avez du creuser — “dû”

une petit intro — “petite”

un générateur “donc” le comportement n’est pas figé — “dont”

optionellement — “optionnellement”

optionelle — “optionnelle”

> — “>”

]]>
By: Sam http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-177383 Sat, 26 Mar 2016 10:04:16 +0000 http://sametmax.com/?p=12854#comment-177383 En général, soit on fait for (c’est du pull), soit on fait send (c’est du push). Mais rarement les deux en effet.

]]>
By: ast http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-177360 Fri, 25 Mar 2016 12:49:31 +0000 http://sametmax.com/?p=12854#comment-177360 Cette fois j’ai compris comment marche le “send” avec les générateurs. C’est simple quand c’est expliqué avec “next”. C’est plus compliqué quand il y a une boucle “for” car il y a des données qui sautent. D’ailleurs le cours d’Open Class Room donne un résultat faux sur un exemple avec un “send” dans une boucle for.

Quand j’ai fait tourner le code avec fuckitjaiplusdenomcool qui fournit 1, 2, 3, … 10, 11, 9, 8 … 1 je n’avais pas le même résultat que toi, j’obtenais 1, 2, 3, … 10, 11, 10, 9, 8 … 1. C’est parce que il y a le print(x) qui affiche à l’écran, mais aussi le “yield” quand il est atteint après le lancement de “send”.

J’ai remplacé le print(x) par un print(‘#’ +str(x)) pour distinguer les deux. Voilà ce que ça donne:

1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 10 #9 #8 #7 #6 #5 #4 #3 #2 #1

Le 10 sans dièse vient du “yield” qui est atteint après le “send”. Et cette valeur saute (n’apparaît pas) dans la boucle “for”, donc n’est pas imprimé avec le print()

Du coup je me demande si le “send” est fait pour fonctionner avec le “for”, car c’est vraiment merdique.

]]>
By: Seb http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-162573 Fri, 26 Jun 2015 10:10:19 +0000 http://sametmax.com/?p=12854#comment-162573 Ben, je dois reconnaître que j’avais survolé il y a quelques temps l’articles (quand il est sorti je pense) et que je m’étais dit “oue ça a l’air cool, mais ça me sert à rien”, du coup, j’ai pas cherché à tout lire et comprendre. Et pi là j’en ai eu besoin, du coup j’ai potassé le truc ;)

]]>
By: Sam http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-162560 Fri, 26 Jun 2015 06:26:31 +0000 http://sametmax.com/?p=12854#comment-162560 Ce qui m’inquiète c’est que tu sois le premier à l’avoir vu :( Combien de personnes ont lu l’article sans tiquer… Bref, merci, c’est corrigé.

]]>
By: Seb http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-162551 Thu, 25 Jun 2015 21:52:26 +0000 http://sametmax.com/?p=12854#comment-162551 Je déterre un peu, mais il me semble que tu as abusé du M-w C-y (un mec aussi bien que toi utilise emacs non? :D) sur la version “coroutine” du filtre : il y a des self.* à la fin qui n’ont rien à faire là.

]]>
By: Sam http://sametmax.com/quest-ce-quune-coroutine-en-python-et-a-quoi-ca-sert/#comment-152702 Mon, 15 Dec 2014 14:26:20 +0000 http://sametmax.com/?p=12854#comment-152702 En fait c’est utile pour tous les trucs qui ont besoin de réagir à un événement et déclencher une chaîne de traitement :

– chat
– scrapping
– server
– UI

Mais c’est quelque chose qu’on fait naturellement autrement : on va faire une liste de tâches, itérer, prendre le résultat de la première, le passer à la deuxième, et recommencer. Les coroutines sont juste une formalisation de ce workflow en un outil léger, rien de plus.

Après, je n’ai pas montré des agencements complexes de coroutines. Là on ne voit que les chaînes, mais on peut faire beaucoup plus : les graphes de task, avec des traitements conditionels, etc.

]]>