单个星号*
(1)*parameter 是用来接受任意多个参数并将其放在一个元组中。
如:
def demo(*params): for param in params: print(param) a = [1] b = [2,3] demo(a, b)
输出为:
[1]
[2, 3]
(2) 函数在调用多个参数时,在列表、元组、集合、字典及其他可迭代对象作为实参,并在前面加 *
如:*(1,2,3)解释器将自动进行解包然后传递给多个单变量参数(参数个数要对应相等,不相等会报错)。
例子:
def demo(a, b, c): print(a, b, c) a = [1, 2, 3] demo(*a)
输出为:
(1,2,3)
双星号 **
(1)两个 ** 如: **parameter用于接收类似于关键参数一样赋值的形式的多个实参放入字典中(即把该函数的参数转换为字典)。
例子: def demo(**p): for i in p.items(): print(i) demo(x=1, y=2, z=3)
输出为:
('y', 2)
('x', 1)
('z', 3)