[Python-Dev] Explicit Lexical Scoping (pre-PEP?) (original) (raw)

Guido van Rossum guido at python.org
Wed Jul 5 12:02:16 CEST 2006


On 7/5/06, Just van Rossum <just at letterror.com> wrote:

Guido van Rossum wrote:

> On 7/5/06, Phillip J. Eby <pje at telecommunity.com> wrote: > > Did you also consider and reject: > > > > * Alternate binding operators (e.g. ":=", ".=", etc.) > > Brr. That's too bad :( I still find a rebinding operator (":=" being my favorite) much, much more appealing than any of the alternative proposals. It's beautifully symmetrical with "assignment means local". It also pretty much makes the global statement redundant. The only downside I see is that it may cause a fairly big shift in style: I for one would use := for rebinding local names. While I think that would be an improvement (eg. by catching typo's earlier), it's different.

Hallo broer! :-)

I wonder what this should mean then:

def outer(): def inner(): x := 1

What is x's scope?

Also, a := operator allows all sorts of left-hand sides that don't necessarily make sense, e.g.

x.foo := 1 x[0] := 1

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list