I wrote:
Alex Martelli wrote:
See the difference?  In a function, the 'x = x' compiles into LOAD_FAST,
STORE_FAST, which only looks at locals and nowhere else.  In a
classbody, it compiles to LOAD_NAME, STORE_NAME, which looks at locals
AND globals -- but still not at closure cells...

Is there a reason why the class body doesn't look at closure cells? That is, are there cases where this lookup scheme is preferred to one that checks locals, closure cells and globals?

For anyone who's interested I found a long thread about this here:

http://mail.python.org/pipermail/python-dev/2002-April/023427.html

And a bug report here:

http://sourceforge.net/tracker/?func=detail&aid=532860&group_id=5470&atid=105470

Steve

[1] http://docs.python.org/ref/naming.html
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to