code: def attributes(data):
      
      return [x for x in dir(data) if not callable(x) and not x.startswith('__')]
docs: Return all the non callable and non special attributes of the input data
  
      :param data: an object
      :returns: a list
  
      >>> class table:
      ...     def __init__(self, name, rows, cols):
      ...         self.name = name
      ...         self.rows = rows
      ...         self.cols = cols
  
      >>> t = table('people', 100, 3)
      >>> attributes(t)
      ['cols', 'name', 'rows']