On Jan 18, 2008 2:01 PM, <[EMAIL PROTECTED]> wrote: > 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?
I'll get the ball rolling again, and hopefully it won't roll over me. ;) The decoration is setting the class type's f1 attribute correctly, but doing something strange in the local namespace. >>> class C: ... @staticmethod ... def f1(): pass ... print f1 ... <staticmethod object at 0x00A69A70> >>> print C.f1 <function f1 at 0x00A60830> The class statement's local namespace is pretty strange. I think I mightl go back to pretending there isn't one. -- Neil Cerutti -- http://mail.python.org/mailman/listinfo/python-list