I filed a bug report, and here is the short answer to my question: genexps are code blocks, and code blocks cannot see variables in class scopes. Congrats to Neil Cerutti who figured it out.
Now here is another one for your enjoyment:
class C:
@staticmethod
def f1(): pass
F = { '1' : f1 }
C().F['1']()
>>> TypeError: 'staticmethod' object is not callable
What do you think of this one?
--
http://mail.python.org/mailman/listinfo/python-list
