def func_namespace(func):
 kls = None
 if hasattr(func, 'im_func'):
  kls = func.im_class
  func = func.im_func
 if kls:
  return ('%s.%s' % (kls.__module__, kls.__name__))
 else:
  return ('%s.%s' % (func.__module__, func.__name__))

def func_namespace ( func ) : kls = None if hasattr ( func , 'im_func' ) : kls = func . im_class func = func . im_func if kls : return ( '%s.%s' % ( kls . __module__ , kls . __name__ ) ) else : return ( '%s.%s' % ( func . __module__ , func . __name__ ) )
generates a unique namespace for a function .