def posonly(f):
    "Make the arguments of a function positional only"
    code = f.func_code
    varnames, nargs = code.co_varnames, code.co_argcount
    varnames = ( tuple(v+'@' for v in varnames[:nargs])
                 + varnames[nargs:] )
    f.func_code = copy_code(code, varnames = varnames)
    return f
Make the arguments of a function positional only
recipes/Python/521874_Functions_positional_only/recipe-521874.py