>>> type(cls.__dict__['method'])
    <type 'function'>
    >>> type(cls.method)
    <type 'instancemethod'>

Vyraz cls.method vrati objekt typu instancemethod, v kterem je
zapouzdrena prislusna funkce. Jelikoz se zapouzdreni nikde nekesuje,
je pri kazdem vyskytu vyrazu `cls.method' vytvoren novy objekt typu
instancemethod. Proto pro porovnani pres operator `is' dostavame False.

Je ale poněkud zvláštní a je potřeba si dát pozor na to, že ten "novy objekt typu instancemethod" má pořád stejné id:

>>> id(c.m)
-1208131876
>>> id(c.m)
-1208131876
>>> id(c.m)
-1208131876

>>> id(c.m) == id(c.m), c.m is c.m
(True, False)

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem