[Python-Dev] Tricky way of of creating a generator via a comprehension expression
Paul Moore
p.f.moore at gmail.com
Thu Nov 23 09:30:54 EST 2017
More information about the Python-Dev mailing list
Thu Nov 23 09:30:54 EST 2017
- Previous message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Next message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 23 November 2017 at 14:24, Ivan Levkivskyi <levkivskyi at gmail.com> wrote: >> My main concern is that comprehension is not equivalent to a for loop >> for a specific reason - the scope issue. Has anyone looked back at the >> original discussions to confirm *why* a function was used? >> >> My recollection: >> >> >>> i = 1 >> >>> a = [i for i in (1,2,3)] >> >>> print(i) >> 1 >> >> Serihy's approach (and your described expansion) would have print(i) >> return NameError. > > > Absolutely no, it will still print 1. The internal implementation will use > unique ids internally (see https://bugs.python.org/issue10544 for details). > Ok, cool. My main point still applies though - has anyone confirmed why a function scope was considered necessary at the time of the original implementation, but it's apparently not now? I'm pretty sure it was a deliberate choice, not an accident. Paul
- Previous message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Next message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list