def iterize(obj):
    """
    Converts into or wraps in an iterator.

    If `obj` is an iterable object other than a `str`, returns an iterator.
    Otherwise, returns a one-element iterable of `obj`.

      >>> list(iterize((1, 2, 3)))
      [1, 2, 3]

      >>> list(iterize("Hello!"))
      ['Hello!']
      >>> list(iterize(42))
      [42]

    """
    if isinstance(obj, str):
        return iter((obj,))
    else:
        try:
            return iter(obj)
        except TypeError:
            return iter((obj,))
