Stefan Behnel wrote:
Hi!

This somewhat puzzles me:

Python 2.4 (#1, Feb  3 2005, 16:47:05)
[GCC 3.3.4 (pre 3.3.5 20040809)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

.>>> class test(object):
...   def __init__(self):
...     self.__call__ = self.__call1
...   def __call1(self):
...     print 1
...   def __call__(self):
...     print 2
...
.>>> t = test()
.>>> t()
2


It works the way you want if test is an old-style class: >>> class test: ... def __init__(self): ... self.__call__ = self.__call1 ... def __call1(self): ... print 1 ... def __call__(self): ... print 2 ... >>> t=test() >>> t() 1

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

Reply via email to