这篇文章主要介绍了python函数的万能参数传参详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数
def test(*args,**kwargs):
print(args,kwargs)
然后定义两个变量
l = [1,2,3,4]
d = {"a":1,"b":2}
下面我们分别看下两种传参的方式有什么不同
第一种方式
est(l,d)
如果是使用上面的方式传参,那么l,d这2个变量都会传递给args这个形参,作为args变量的两个元素,kwargs是一个空的字典,没有任何参数传递一个他
([1, 2, 3, 4], {'a': 1, 'b': 2}) {}
我们可以看到列表l和字典d被当做一个tuple的两个元素了
第二种方式
test(*l,**d)
如果是上面的方式传参,那么l这个变量就会被赋值给args,d这个变量就会被赋值给kwargs
(1, 2, 3, 4) {'a': 1, 'b': 2}
通过上面的演示,你应该基本上了解python的万能参数了吧,也知道如果函数使用万能参数,你应该如何进行传参了把
今天被搞糊涂了,又把万能参数梳理一下
大家先看下这个函数
def foo(action=None,**kwargs):
print