python函数可变长参数: 1.位置参数必须放在关键字参数的左边 2.*针对列表数据,**针对字典数据 3.因为位置参数必须放在关键字参数的左边,所以定义万能参数时*args 只能放在**kwargs参数的左边(准守1的规则) 位置参数: 例如: def test(x): return x test(2)------> 2为位置参数 关键字参数: 例如: def test(x) return x test(x=2)------->x=2为关键字参数 *args 接收位置参数 例如: def test(x,*y): print (x) print (y) 1.test(1,2,3,4,5)------>输出x=1, y=(2,3,4,5,) 2.test(1,[2,3,4,5,6],1)------>输出x=1,y=([2,3,4,5,6],1,) 如果想循环取出列表内的数据,则: 3.test(1,*[2,3,4,5,6])---->输出x=1,y=(2,3,4,5,6,) 4.test(1,{1:2})------->输出x=1,y=({1:2},) 5.test(1,(1:2))------->输出x=1,y=((1:2),) **kwargs 接收关键字参数 def test(x,**y): print (x) print (y) 1.test(1,z=2)------>输出x=1, y={'z':2} 2.test(1,**{'z':2})------>输出x=1,y={'z':2} *args,**kwargs 接收万能参数 def test(a,*x,**y): print (a) print (x) print (y) test(1,*[1,2,3],**{"z":2}) 输出: 1 (1, 2, 3) {'z': 2} |
|