我正在学习flask,我想在内部函数中解包args。这是我的代码:
def make_bold(func): def inner(*args, **kwargs): return f"<b>{func(args[0])}</b>" return inner @app.route("/username/<user>") @make_bold def username(user): return f"Username: {user}"
我得到了一个arror“元组索引超出范围”,即使我添加了下一个asterix
return f"<b>{func(*args[0])}</b>"
我能在其他地方打开它吗?
如果你打印 args 和 kwargs ,你会发现 user 被传了进来 关键字参数 (打电话 func(user=xxx) )问题是你通常不能假设参数是如何传递的,所以你应该写 return f"<b>{func(*args, **kwargs)}</b>" 相反
args
kwargs
user
关键字参数
func(user=xxx)
return f"<b>{func(*args, **kwargs)}</b>"