code: def get_attribute_names(self):
      
      attribute_names = []
      for attribute_name in iter(self.__dict__.keys()):
        # Not using startswith to improve performance.
        if attribute_name[0] == '_':
          continue
        attribute_names.append(attribute_name)
  
      return attribute_names
docs: Retrieves the names of all attributes.
      Returns:
        list[str]: attribute names.