Sorry for breaking the threading, but Stephen's original post hasn't come 
through to my provider.

On 2010-02-18 16:25 PM, Stephen Hansen wrote:

> This has to be a stupid question, but :)
>
> I have some generators that do stuff, then start yielding results. On
> occasion, I don't want them to yield anything ever-- they're only
> really "generators" because I want to call them /as/ a generator as
> part of a generalized system.
>
> The only way I can figure out how to make an empty generator is:
>
>      def gen():
>          # do my one-time processing here
>
>          return
>          yield

If all you want is a generator that doesn't yield anything, then surely 
there isn't any one-time processing and you don't need the comment?


>> Is there a better way? The return/yield just makes me flinch slightly.

Meh. An empty generator is a funny thing to do, so it's not bad that it 
reads a bit funny. I don't have a problem with it.

If it really annoys you, you could do this:

def empty():
    for x in []:
        yield



-- 
Steven
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to