python中的可变参数

python和matlab类似,支持可变数量的参数。在控制台中举例如下:

a = [1,2]
k = {'a':1,'b':2}
def fun(a,b):
    return a,b
fun(*a)
fun(*k)
fun(**k)

输出结果为:

(1,2)
(b,a)
(1,2)

可以看到 python中的任意函数都支持可变参数形式的输入,但要保证输入的数组与函数要求的形参对应。


相应的,我们还可以定义输入参数不定的函数,举例如下:

def fun1(*a):
    print(a)
a = [1,2,3,4]
fun1(a)
fun1(1,2,3,4)

对应的输出为:

([1,2,3,4],)
(1,2,3,4)

可见,函数可输入的参数量已经不受限制,最终的输出会是元组形式。

也可以定义输入为字典形式的可变参数函数,此时的输入参数必须写成arg=val的形式:

def fun2(**k):
    print(k)
fun2(a=1,b=2,c=3)

对应的输出为:

{'b': 2, 'a': 1, 'c': 3}


猜你喜欢

转载自blog.csdn.net/weixin_38082364/article/details/79825330