''' Created on Aug 28, 2016 @author: Brett Paufler Copyright Brett Paufler ''' def func(): return 1 def func_2(): return 2 print func(), func.__call__() func.__call__ = func_2 print func(), func.__call__() f = func f.__call__ = lambda: 2 print f(), f.__call__() print dir(f) print f.__call__, f.__call__() class A: def __init__(self): pass def __call__(self): return 2 print A() a = A() print a() print dir(func_2) print func_2.func_dict print func_2.__call__, func_2.__call__() func_2.__call__ = lambda: 33 print func_2.__call__, func_2.__call__() def g(): return 'g' g.__call__ = lambda: 'Gee Wiz' print g(), g.__call__() print g.func_code