By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,741 Members | 1,291 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,741 IT Pros & Developers. It's quick & easy.

About that 'yield' word

P: n/a

def maker():
for i in range(100):
yield i
foo:4: Warning: 'yield' will become a reserved keyword in the future
File "foo", line 4
yield i
^
SyntaxError: invalid syntax

Python 2.2.2
???

Jul 18 '05 #1
Share this Question
Share on Google+
5 Replies

P: n/a
Tobiah wrote:

def maker():
for i in range(100):
yield i
foo:4: Warning: 'yield' will become a reserved keyword in the future
File "foo", line 4
yield i
^
SyntaxError: invalid syntax

Python 2.2.2
???


You seem to have omitted the necessary statement at the start
of your module (in Python 2.2):
from __future__ import generators

Alternatively, upgrade to 2.3, and you won't need that statement
any more.
Alex

Jul 18 '05 #2

P: n/a
Tobiah wrote:

def maker():
for i in range(100):
yield i
foo:4: Warning: 'yield' will become a reserved keyword in the future
File "foo", line 4
yield i
^
SyntaxError: invalid syntax

Python 2.2.2
???


I guess this was just thrown together as an example of "yield", rather
than real code, but:

def maker():
return range(100)

seems a little less contorted...

--
David Eppstein http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science
Jul 18 '05 #3

P: n/a
|Tobiah wrote:
|> > def maker():
|> > for i in range(100):
|> > yield i

David Eppstein <ep******@ics.uci.edu> wrote previously:
|I guess this was just thrown together as an example of "yield", rather
|than real code, but:
|def maker():
| return range(100)

And less contorted still is:

xrange(100)

:-).

--
Keeping medicines from the bloodstreams of the sick; food from the bellies
of the hungry; books from the hands of the uneducated; technology from the
underdeveloped; and putting advocates of freedom in prisons. Intellectual
property is to the 21st century what the slave trade was to the 16th.

Jul 18 '05 #4

P: n/a
>> > def maker():
> for i in range(100):
> yield i
>
David> I guess this was just thrown together as an example of "yield",
David> rather than real code, but:

David> def maker():
David> return range(100)

David> seems a little less contorted...

Maybe so, but it behaves differently so direct comparisons aren't
particularly helpful:
def maker(): .... for i in range(100):
.... yield i
.... def maker1(): .... return range(100)
.... maker() <generator object at 0x1d80f8> maker1()

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

--
Andrew Koenig, ar*@acm.org
Jul 18 '05 #5

P: n/a
In article <yu**************@tinker.research.att.com>,
Andrew Koenig <ar*@acm.org> wrote:
David> def maker():
David> return range(100)

David> seems a little less contorted...

Maybe so, but it behaves differently so direct comparisons aren't
particularly helpful:


I considered mentioning iter(range(100)) instead but I couldn't think of
an actual reason one would care about the difference.

--
David Eppstein http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science
Jul 18 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.