def args_repr(*args, **kwargs):
    """
    Returns human-readable string representation of both positional and
    keyword arguments passed to the function.

    This function uses the built-in :func:`repr()` function to convert
    individual arguments to string.

    >>> args_repr("a", (1, 2), some_keyword = list("abc"))
    "'a', (1, 2), some_keyword = ['a', 'b', 'c']"
    """
    items = [repr(a) for a in args]
    items += ["%s = %r" % (k, v) for k, v in iter(kwargs.items())]
    return ", ".join(items)