def is_iterable(item):
    """ Checks whether an item is an iterable or a singleton.
    >>> is_iterable("hello")
    False
    >>> is_iterable(["hello"])
    True
    >>> is_iterable(2)
    False
    >>> is_iterable([2,])
    True
    >>> print(is_not_iterable(2) == (not is_iterable(2)))
    True
    """
    return isinstance(item, str) is False and hasattr(item, '__iter__')
