code: def is_generator(obj):
    
    if isinstance(obj, types.GeneratorType):
      return True
  
    CO_GENERATOR = 0x20
    return bool(((inspect.isfunction(obj) or inspect.ismethod(obj)) and
                 obj.func_code.co_flags & CO_GENERATOR))
docs: Return true if the object is generator or generator function.
  
    Generator function objects provides same attributes as functions.
    See isfunction.__doc__ for attributes listing.
  
    Adapted from Python 2.6.
  
    Args:
      obj: an object to test.
  
    Returns:
      true if the object is generator function.