Handling 2.7 and 3.0 Versions of Dict
Travis Parks
jehugaleahsa at gmail.com
Fri Sep 2 12:53:37 EDT 2011
More information about the Python-list mailing list
Fri Sep 2 12:53:37 EDT 2011
- Previous message (by thread): Handling 2.7 and 3.0 Versions of Dict
- Next message (by thread): Handling 2.7 and 3.0 Versions of Dict
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sep 2, 12:36 pm, "Gabriel Genellina" <gagsl-... at yahoo.com.ar> wrote: > En Wed, 31 Aug 2011 22:28:09 -0300, Travis Parks <jehugalea... at gmail.com> > escribi : > > > On Aug 31, 7:37 pm, Gregory Ewing <greg.ew... at canterbury.ac.nz> wrote: > >> Ian Kelly wrote: > >> > if sys.version_info < (3,): > >> > getDictValues = dict.itervalues > >> > else: > >> > getDictValues = dict.values > > >> > (which is basically what the OP was doing in the first place). > > > My problem was that I didn't understand the scoping rules. It is still > > strange to me that the getValues variable is still in scope outside > > the if/else branches. > > Those if/else are at global scope. An 'if' statement does not introduce a > new scope; so getDictValues, despite being "indented", is defined at > global scope, and may be used anywhere in the module. > > -- > Gabriel Genellina > > Does that mean the rules would be different inside a function?
- Previous message (by thread): Handling 2.7 and 3.0 Versions of Dict
- Next message (by thread): Handling 2.7 and 3.0 Versions of Dict
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list