diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-06-25 19:46:25 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-06-25 19:46:25 (GMT) |
commit | 3e7b1a04a0fe02098ffc03b5c0fc6546a5f7d2d1 (patch) | |
tree | 1b79b6897c94e6914beb1f86e59c40a2ec9a056d /Lib | |
parent | ae1f65ff825f72f3972e503036966e206f5b39fa (diff) | |
download | cpython-3e7b1a04a0fe02098ffc03b5c0fc6546a5f7d2d1.zip cpython-3e7b1a04a0fe02098ffc03b5c0fc6546a5f7d2d1.tar.gz cpython-3e7b1a04a0fe02098ffc03b5c0fc6546a5f7d2d1.tar.bz2 |
Teach the types module about generators. Thanks to James Althoff on the
Iterators list for bringing it up!
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_generators.py | 20 | ||||
-rw-r--r-- | Lib/types.py | 5 |
2 files changed, 25 insertions, 0 deletions
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py index e0d6cfa..884cbc0 100644 --- a/Lib/test/test_generators.py +++ b/Lib/test/test_generators.py @@ -367,6 +367,26 @@ Next one was posted to c.l.py. 4-combs of [1, 2, 3, 4]: [1, 2, 3, 4] 5-combs of [1, 2, 3, 4]: + +# From the Iterators list, about the types of these things. + +>>> def g(): +... yield 1 +... +>>> type(g) +<type 'function'> +>>> i = g() +>>> type(i) +<type 'generator'> +>>> dir(i) +['next'] +>>> print i.next.__doc__ +next() -- get the next value, or raise StopIteration +>>> iter(i) is i +1 +>>> import types +>>> isinstance(i, types.GeneratorType) +1 """ # Fun tests (for sufficiently warped notions of "fun"). diff --git a/Lib/types.py b/Lib/types.py index a71a4db..85962ba 100644 --- a/Lib/types.py +++ b/Lib/types.py @@ -32,6 +32,11 @@ try: except: pass +def g(): + yield 1 +GeneratorType = type(g()) +del g + class _C: def _m(self): pass ClassType = type(_C) |