Talin wrote: > Some alternatives: > > use x > using x > with x -- recycle a keyword? > reuse x > use extant x > share x > common x > same x > borrow x > existing x > > Although, to be perfectly honest, the longer this discussion goes on, > the more that I find that I'm not buying Guido's argument about it being > better to define this at the point of use rather than at the point of > definition. I agree with him that "point of use" is more Pythonic, but > I'm also beginning to believe that there are some good reasons why many > other languages do it the other way. > > Part of the reason why its so hard to name this feature is that it's > real name is something like "Hey, Python, you know that cool funky thing > you do with defining variables in the same scope as they are assigned? > Well, don't do that here."
(Followup to my own comment) There are really 3 places where you can indicate that a variable is to be reused instead of redefined: 1) The point of definition in the outer scope, 2) A declaration in the inner scope, and 3) The actual point of assignment. #1 is what I've been pushing for, #2 is what most of the discussion has been about, #3 has been talked about a little bit in the context of an augmented assignment operator. I actually like #3 a little better than #2, but not with a new operator. I'm thinking more along the lines of a keyword that modifies and assignment statement: rebind x = 10 Other possible keywords are: modify, mutate, change, update, change, etc... My gut feeling is that most code that wants to use this feature only wants to use it in a few places. A good example is fcgi.py (implements WSGI for FastCGI), where they use a mutable array to store a flag indicating whether or not the headers have already been sent. -- Talin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com