yield expression
Colin J. Williams
cjw at ncf.ca
Tue Feb 26 11:34:14 EST 2013
On 24/02/2013 7:36 PM, Ziliang Chen wrote:
> Hi folks,
> When I am trying to understand "yield" expression in Python2.6, I did the following coding. I have difficulty understanding why "val" will be "None" ? What's happening under the hood? It seems to me very time the counter resumes to execute, it will assign "count" to "val", so "val" should NOT be "None" all the time.
>
> Thanks !
>
> code snippet:
> ----
> def counter(start_at=0):
> count = start_at
> while True:
> val = (yield count)
> if val is not None:
> count = val
> else:
> print 'val is None'
> count += 1
Perhaps it's becaoue (teild count) is a statement. Statements do not
return a value.
Colin W.
>
More information about the Python-list
mailing list