En Wed, 31 Aug 2011 22:28:09 -0300, Travis Parks <jehugalea...@gmail.com> escribió:

On Aug 31, 7:37 pm, Gregory Ewing <greg.ew...@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

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to