[Python] media di un generatore
Piergiuliano Bossi
pgbossi a gmail.com
Mer 11 Dic 2013 16:31:29 CET
2013/12/11 Giovanni Porcari <giovanni.porcari a softwell.it>
>
>
> def gen(n):
> i = 1
> while i < n:
> yield i
> i += 1
>
> class Enumerated(object):
>
> def __init__(self, gen):
> self.gen = gen
> self._counter=0
>
> def count(self):
> return self._counter
>
> def __iter__(self):
> for k in self.gen:
> self._counter += 1
> yield(k)
>
> def __getattr__(self,name):
> return self.gen.__getattribute__(name)
>
>
>
> if __name__=='__main__':
> x=Enumerated(gen(100000))
> print sum(x)/x.count()
>
> Non so se ha senso e se assomiglia a quello che volevi
> comunque anche questa potrebbe essere un' alternativa.
>
Mi piace molto. Ho solo una domanda: perche' serve __getattr__ e perche'
ribalta la chiamata su __getattribute__ del generatore?
Ciao,
Giuliano
--
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131211/30b6a5c2/attachment.html>
Maggiori informazioni sulla lista
Python