Bruno Desthuilliers <bdesth.quelquech...@free.quelquepart.fr> writes:
[...] > class Foo(object): > def bar(self): > return "baaz" > > print Foo.__dict__.keys() > print type(Foo.__dict__['bar']) > > > So, why is it that type(Foo.bar) != type(Foo.__dict__['bar']) ? The > answer is : attribute lookup rules and the descriptor protocol. It's true of Python 2.X. In Python 3 there are no more unbound method: Python 3.2a0 (py3k:75274, Oct 7 2009, 20:25:52) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> class A: ... def f(self): pass ... >>> A.f <function f at 0x445b28> >>> A.f is A.__dict__['f'] True -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list