mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
* Uncomment the SyntaxError doctest after Tim demonstrated how.
* Remove unnecessary sys.PS2 prompt lines.
This commit is contained in:
parent
8df4e6b020
commit
3258e72c82
1 changed files with 6 additions and 11 deletions
|
|
@ -60,28 +60,26 @@ Test running gen when defining function is out of scope
|
||||||
|
|
||||||
>>> def f(n):
|
>>> def f(n):
|
||||||
... return (i*i for i in xrange(n))
|
... return (i*i for i in xrange(n))
|
||||||
...
|
|
||||||
>>> list(f(10))
|
>>> list(f(10))
|
||||||
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
|
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
|
||||||
|
|
||||||
>>> def f(n):
|
>>> def f(n):
|
||||||
... return ((i,j) for i in xrange(3) for j in xrange(n))
|
... return ((i,j) for i in xrange(3) for j in xrange(n))
|
||||||
...
|
|
||||||
>>> list(f(4))
|
>>> list(f(4))
|
||||||
[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]
|
[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]
|
||||||
>>> def f(n):
|
>>> def f(n):
|
||||||
... return ((i,j) for i in xrange(3) for j in xrange(4) if j in xrange(n))
|
... return ((i,j) for i in xrange(3) for j in xrange(4) if j in xrange(n))
|
||||||
...
|
|
||||||
>>> list(f(4))
|
>>> list(f(4))
|
||||||
[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]
|
[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]
|
||||||
>>> list(f(2))
|
>>> list(f(2))
|
||||||
[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
|
[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
|
||||||
|
|
||||||
#Verify that parenthesis are required in a statement
|
Verify that parenthesis are required in a statement
|
||||||
#>>> def f(n):
|
>>> def f(n):
|
||||||
#... return i*i for i in xrange(n)
|
... return i*i for i in xrange(n)
|
||||||
#...
|
Traceback (most recent call last):
|
||||||
#SyntaxError: invalid syntax
|
...
|
||||||
|
SyntaxError: invalid syntax
|
||||||
|
|
||||||
Verify early binding for the outermost for-expression
|
Verify early binding for the outermost for-expression
|
||||||
|
|
||||||
|
|
@ -137,12 +135,10 @@ Generators always return to the most recent caller:
|
||||||
... r = yrange(5)
|
... r = yrange(5)
|
||||||
... print "creator", r.next()
|
... print "creator", r.next()
|
||||||
... return r
|
... return r
|
||||||
...
|
|
||||||
>>> def caller():
|
>>> def caller():
|
||||||
... r = creator()
|
... r = creator()
|
||||||
... for i in r:
|
... for i in r:
|
||||||
... print "caller", i
|
... print "caller", i
|
||||||
...
|
|
||||||
>>> caller()
|
>>> caller()
|
||||||
creator 0
|
creator 0
|
||||||
caller 1
|
caller 1
|
||||||
|
|
@ -155,7 +151,6 @@ Generators can call other generators:
|
||||||
>>> def zrange(n):
|
>>> def zrange(n):
|
||||||
... for i in yrange(n):
|
... for i in yrange(n):
|
||||||
... yield i
|
... yield i
|
||||||
...
|
|
||||||
>>> list(zrange(5))
|
>>> list(zrange(5))
|
||||||
[0, 1, 2, 3, 4]
|
[0, 1, 2, 3, 4]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue