About that 'yield' word

Discussion in 'Python' started by Tobiah, Oct 4, 2003.

  1. Tobiah

    Tobiah Guest

    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


    ???
     
    Tobiah, Oct 4, 2003
    #1
    1. Advertising

  2. 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
     
    Alex Martelli, Oct 4, 2003
    #2
    1. Advertising

  3. 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
     
    David Eppstein, Oct 4, 2003
    #3
  4. |Tobiah wrote:
    |> > def maker():
    |> > for i in range(100):
    |> > yield i

    David Eppstein <> 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.
     
    Lulu of the Lotus-Eaters, Oct 5, 2003
    #4
  5. >> > 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,
     
    Andrew Koenig, Oct 5, 2003
    #5
  6. In article <>,
    Andrew Koenig <> 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
     
    David Eppstein, Oct 5, 2003
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Laura
    Replies:
    1
    Views:
    570
    Gunnar Hjalmarsson
    Jun 5, 2004
  2. Stephen Witter

    opening a word doc in word not browser

    Stephen Witter, May 18, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    530
    Stephen Witter
    May 18, 2004
  3. Replies:
    1
    Views:
    342
    Gabriel Genellina
    Apr 22, 2008
  4. Markus
    Replies:
    1
    Views:
    218
    Mark Hubbart
    Sep 27, 2004
  5. Michael Edgar
    Replies:
    13
    Views:
    308
    Brian Candler
    Apr 21, 2011
Loading...

Share This Page