Neal Becker wrote:
Want to switch __call__ behavior. Why doesn't this work? What is the
correct way to write this?
class X (object):
def __init__(self, i):
if i == 0:
def __call__ (self):
return 0
else:
def __call_ (self):
return 1
x = X(0)
x()
TypeError: 'X' object is not callable
I think it's because X has already been constructed when __init__ is
called, so __new__ is the place for your conditional code.
-- http://mail.python.org/mailman/listinfo/python-list
