Guido van Rossum wrote: > Hardly arbitary (I have fond memories of several languages that used > :=). I think augmented assignment should (ideally) also be rebinding, and := kindof looks like an augmented assignment, so I don't think it's all that bad. I'd be used to it in a snap. But: let's not get carried away with this particular spelling, the main question is: "is it a good idea to have a rebinding assignment operator?" (regardless of how that operator is spelled). Needless to say, I think it is. > But what is one to make of a function that uses both > > a := 2 > > and > > a = 2 > > ??? Simple, "a = 2" means 'a' is local to that function, so "a := 2" will rebind in the same scope. So the following example will raise UnboundLocalException: def foo(): a := 3 a = 2 And this will just work (but is kindof pointless): def foo(): a = 2 a := 3 And this would be a substitute for the global statement: a = 2 def foo(): a := 3 (Alex noted in private mail that one disadvantage of this idea is that it makes using globals perhaps TOO easy...) Just
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4