def tuple_arg(fn):
    """
    fun(1,2) -> fun((1,), (2,))로
    f(1,2,3) =>  f((1,), (2,), (3,))
    :param fn:
    :return:
    """
    @wraps(fn)
    def wrapped(*args, **kwargs):
        args = map(tuplefy, args)
        return fn(*args, **kwargs)

    return wrapped
def tuple_arg(fn):
    """
    fun(1,2) -> fun((1,), (2,))로
    f(1,2,3) =>  f((1,), (2,), (3,))
    :param fn:
    :return:
    """
    @wraps(fn)
    def wrapped(*args, **kwargs):
        args = map(tuplefy, args)
        return fn(*args, **kwargs)

    return wrapped
def tuple_arg ( fn ) : @ wraps ( fn ) def wrapped ( * args , * * kwargs ) : args = map ( tuplefy , args ) return fn ( * args , * * kwargs ) return wrapped
fun(1,2) -> fun((1,), (2,))로
    f(1,2,3) =>  f((1,), (2,), (3,))
    :param fn:
    :return:
fun ( 1 2 ) - > fun (( 1 ) ( 2 )) 로 f ( 1 2 3 ) = > f (( 1 ) ( 2 ) ( 3 )) : param fn : : return :