def is_scalar(x):
    """
    >>> is_scalar(1)
    True
    >>> is_scalar(1.1)
    True
    >>> is_scalar([1, 2, 3])
    False
    >>> is_scalar((1, 2, 3))
    False
    >>> is_scalar({'a': 1})
    False
    >>> is_scalar({1, 2, 3})
    False
    >>> is_scalar('spam')
    True
    """
    try:
        len(x)
    except TypeError:
        return True
    else:
        return isinstance(x, (str, bytes))