def is_iterable(obj):
    """
    Return true if object has iterator but is not a string

    :param object obj: Any object
    :return: True if object is iterable but not a string.
    :rtype: bool
    """
    return hasattr(obj, '__iter__') and not isinstance(obj, str)