Early and late binding [was Re: what does 'a=b=c=[]' do]

Steven D'Aprano steve+comp.lang.python at pearwood.info
Sat Dec 24 03:11:12 EST 2011


On Sat, 24 Dec 2011 09:50:04 +1100, Chris Angelico wrote:

> On Sat, Dec 24, 2011 at 9:32 AM, Steven D'Aprano
> <steve+comp.lang.python at pearwood.info> wrote:
>> Yes. But having to manage it *by hand* is still unclean:
> 
> Well, my point was that Python's current behaviour _is_ that.

Minus the managing it by hand part.


>> * you still have to assign the default value to the function assignment
>> outside the function, which is inelegant;
> 
> C's static variables are initialized inside the function. But since
> Python doesn't have that, it doesn't really work that way. (You might be
> able to use a decorator to do some cool tricks though.)

If Python were C, then static variables would be the right solution, but 
since it isn't, they aren't.



-- 
Steven



More information about the Python-list mailing list