Voici des aspects du developpement sur lesquels je dois me pencher un peu plus. Merci pour le tuyau ;-)
Le 28 septembre 2011 19:18, Alioune Dia <[email protected]> a écrit : > > Le 28 septembre 2011 19:17, Patt Rick <[email protected]> a écrit : > > Pauvre de moi, j'ai jamais fait maths-info ;-) >> mais c'est aussi pour ces raisons justement que je demandais >> > differentes maniere de proceder. >> > > > N’écoute pas Thomas c'est un puriste de l'informatique au vrai sens > du terme, toi et moi on est n'est pas Guido Van Rossum, ni Thomas Noel > on se moque de combien de secondes un code fait pour s’exécuter, > du moment que ça run, on est content.:-), c'est quoi ces histoires de > O(n) :-) > > > Blague a part, il n'a pas tord, un bon code est un code optimum en terme > de temps d’exécution et de caractères. Python introduit ce qu'on appelle > des <iterator> et <generator> utilisé dans le module itertools.py. > <iterator> règle le problème superflu des > fonctions callback qui sont appelées dans les boucles <for> en permettant > un accès aux valeurs des itérations en dehors des boucles. > Pourquoi doit on forcement passer une fonction a la boucle pour > pouvoir traiter les valeurs de sortie ?. Un autre problème > que les <Iterator> règlent est que je peux par exemple sortir > des la première itération, ou la seconde ou a tout moment sans être > obligé de parcourir tout une liste, ni passer un call_back pour > sortir .Avec une itération classique il est plus difficile > de garder l’état des variables d’où l'introduction d'une nouvelle > manière de faire qui garde l’état d’exécution a chaque appel (yield). > A chaque appel la fonction s’exécute jusqu’à yield puis attend la > seconde appelle. > > Ce qui serait génial se serait de comparer le temps d’exécution > pour une fonction utilisant la magie de python (yield) et une > fonction classique ;) > > Les Gurus Théorisent ici http://www.python.org/dev/peps/pep-0255/ > > 1.Ce code est mauvais, callback n'a rien a faire dans test > def test(callback, my_list): > for i in my_list : > if i=2: > callback(i) > > 2.Ce code est meilleur car plus facile a debug > class MyIterator(): > def __init__(self): > pass > > def __next__(self): > while 1: > return 2 > > def __iter__(self): > return self > > > for i in MyIterator.__iter__(): > callback(i) > > 3. generator > > def MyIterator(): > yield 2 > > for i in MyIterator(): > callback(i) > --Ad > > > > -- > Ce message a été envoyé à la liste [email protected] > Gestion de votre abonnement : http://dakarlug.org/liste > Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug > Le site du DakarLUG : http://dakarlug.org > -- * Sincerely, * * * *"still water is deep"* *Patrick Nsukami, young JAVA EE developer, hi-tech lover! Profile <http://www.doyoubuzz.com/patrick-nsukami> - Twitter<http://twitter.com/#!/@LeMeteore> **DakarLUG <http://blog.dakarlug.org/> member - SeneJUG<http://www.senejug.com/> member - Coders4Africa <http://coders4africa.org/> member * *tel: +221 70 605 15 88 / +221 76 460 08 40 * * *
-- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org
