I'm trying to understand the description of method object creation in
the python 2.6 language reference (3.2. The standard type hierarchy)
with little success. The points knocking me are:

"User-defined method objects may be created when getting an attribute
of a class (perhaps via an instance of that class), if that attribute
is a user-defined function object, an unbound user-defined method
object, or a class method object. When the attribute is a user-defined
method object, a new method object is only created if the class from
which it is being retrieved is the same as, or a derived class of, the
class stored in the original method object; otherwise, the original
method object is used as it is."

It is a bit of a tongue-twister for me. What the last sentence means?
Please, I beg for a simple example of the different objects (user
defined function, user defined method, class method) refered.
Are maybe the refered objects exemplified by :

#python 3.1
class Klass():

        def met(self):
                print('method')

       def func():
                print('function')

       @classmethod
        def kmet(klass):
                print('classmethod')

or it is talking about another thing?
What is the difference with python 3 where there is no mention to the
unbound user-defined method object (same section in python 3 language
reference):

"User-defined method objects may be created when getting an attribute
of a class (perhaps via an instance of that class), if that attribute
is a user-defined function object or a class method object."

I'm trying to learn, however the task is revealing as an enormous
undertaking :-)

JA


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to