isgenerator(...) - anywhere to be found?

Diez B. Roggisch deets at nospam.web.de
Tue Jan 22 09:15:43 EST 2008


Jean-Paul Calderone wrote:

> On Tue, 22 Jan 2008 14:20:35 +0100, "Diez B. Roggisch"
> <deets at nospam.web.de> wrote:
>>For a simple greenlet/tasklet/microthreading experiment I found myself in
>>the need to ask the question
>>
>>isgenerator(v)
>>
>>but didn't find any implementation in the usual suspects - builtins or
>>inspect.
>>
>>I was able to help myself out with a simple (out of my head, hope its
>>
>>def isgenerator(v):
>>    def _g(): yield
>>    return type(v) == type(_g())
>>
>>But I wonder why there is no such method already available?
>>
> 
> Why do you need a special case for generators?  If you just pass the
> object in question to iter(), instead, then you'll either get back
> something that you can iterate over, or you'll get an exception for
> things that aren't iterable.

Because - as I said - I'm working on a micro-thread thingy, where the
scheduler needs to push returned generators to a stack and execute them.
Using send(), which rules out iter() anyway.

Diez



More information about the Python-list mailing list