Python中如何将元组作为位置参数传入多参数函数?
Python元组参数解包方法
当你需要将元组的元素分别作为函数的位置参数传入时,直接传递元组会导致整个元组被当作单个参数赋值给函数的第一个形参,进而引发参数缺失错误。解决这个问题的核心是使用位置参数解包操作符*。
修改后的代码如下:
a = 1 b = 'hello' c = 1.9 args = (a, b, c) # 在元组前添加*,将元素逐个分配给函数的位置参数 op = func_a(*args) if <cond1> else func_b(*args) def func_a(a, b, c): ... def func_b(a, b, c): ...
补充说明
*args会把元组args中的元素依次取出,对应传递给函数的a、b、c三个位置参数,完全匹配函数的参数要求。- 如果你的参数是字典类型(需要匹配关键字参数),则需要使用
**操作符进行解包,但当前场景用*即可解决问题。
内容的提问来源于stack exchange,提问作者Azima
相关产品推荐
相关产品推荐

