code: def get_attribute_values_string(self):
      
      attributes = []
      for attribute_name, attribute_value in sorted(self.__dict__.items()):
        # Not using startswith to improve performance.
        if attribute_name[0] == '_' or attribute_value is None:
          continue
  
        if isinstance(attribute_value, dict):
          attribute_value = sorted(attribute_value.items())
  
        elif isinstance(attribute_value, six.binary_type):
          attribute_value = repr(attribute_value)
  
        attribute_string = '{0:s}: {1!s}'.format(attribute_name, attribute_value)
        attributes.append(attribute_string)
  
      return ', '.join(attributes)
docs: Retrieves a comparable string of the attribute values.
      Returns:
        str: comparable string of the attribute values.