Re: basic generator question

2015-02-04 Thread Ian Kelly
On Wed, Feb 4, 2015 at 6:23 AM, Neal Becker wrote: > class rpt: > def __init__ (self, value, rpt): > self.value = value; self.rpt = rpt > def __call__ (self): > for i in range (self.rpt): > yield self.value Note that this class is just reimplementing itertools.repeat. >>> list(

Re: basic generator question

2015-02-04 Thread Steven D'Aprano
Neal Becker wrote: > I have an object that expects to call a callable to get a value: > > class obj: > def __init__ (self, gen): > self.gen = gen > def __call__ (self): > return self.gen() As written, there is no need for this "obj" class, it just adds a pointless layer of indirectio

Re: basic generator question

2015-02-04 Thread Peter Otten
Neal Becker wrote: > I have an object that expects to call a callable to get a value: > > class obj: > def __init__ (self, gen): > self.gen = gen > def __call__ (self): > return self.gen() As written that looks a bit like if boolean_expression == True: ... as you could replace in

Re: basic generator question

2015-02-04 Thread Joel Goldstick
On Wed, Feb 4, 2015 at 10:19 AM, Joel Goldstick wrote: > > > On Wed, Feb 4, 2015 at 9:32 AM, Chris Angelico wrote: > >> On Thu, Feb 5, 2015 at 12:23 AM, Neal Becker wrote: >> > Now I want gen to be a callable that repeats N times. I'm thinking, >> this >> > sounds perfect for yield >> > >> > c

Re: basic generator question

2015-02-04 Thread Joel Goldstick
On Wed, Feb 4, 2015 at 9:32 AM, Chris Angelico wrote: > On Thu, Feb 5, 2015 at 12:23 AM, Neal Becker wrote: > > Now I want gen to be a callable that repeats N times. I'm thinking, this > > sounds perfect for yield > > > > class rpt: > > def __init__ (self, value, rpt): > > self.value = va

Re: basic generator question

2015-02-04 Thread Chris Angelico
On Thu, Feb 5, 2015 at 12:23 AM, Neal Becker wrote: > Now I want gen to be a callable that repeats N times. I'm thinking, this > sounds perfect for yield > > class rpt: > def __init__ (self, value, rpt): > self.value = value; self.rpt = rpt > def __call__ (self): > for i in range (sel

basic generator question

2015-02-04 Thread Neal Becker
I have an object that expects to call a callable to get a value: class obj: def __init__ (self, gen): self.gen = gen def __call__ (self): return self.gen() Now I want gen to be a callable that repeats N times. I'm thinking, this sounds perfect for yield class rpt: def __init__ (se