N
netimen
Can I substitute a method of a class by a callable object (not a
function)? I can very easy insert my function in a class as a method,
but an object - can't.
I have the following:
class Foo(object):
pass
class Obj(object):
def __call__(self, obj_self):
print 'Obj'
def func(self):
print 'func'
f = Foo()
Foo.meth = func
f.meth() # all goes OK
Foo.meth = Obj()
f.meth() # I get TypeError: __call__() takes exactly 2 arguments (1
given)
function)? I can very easy insert my function in a class as a method,
but an object - can't.
I have the following:
class Foo(object):
pass
class Obj(object):
def __call__(self, obj_self):
print 'Obj'
def func(self):
print 'func'
f = Foo()
Foo.meth = func
f.meth() # all goes OK
Foo.meth = Obj()
f.meth() # I get TypeError: __call__() takes exactly 2 arguments (1
given)