python中的参数传递,python传递的形参有这两种样式,*和**
一、*的这种用法是传递一个元组,python中的元组是一个括弧包含的数据,如(1,2,3,4)
eg1:
test(*args):
print args[0],args[1],args,
argument=(1,2,3,4,5,6,7,8)
test(*argument)
这时候的输出为:1,2,(1,2,3,4,5,6,7,8),取出的第一个元素给[0],第二个元素给[1],剩下的还在args中
二、*的另外一个用法,是形参的匹配形式,代码如下
eg2:
test(a,b,*args):
print a,b,args,
argument=(1,2,3,4,5,6,7,8)
test(*argument)
这时候的输出为1,2,(3,4,5,6,7,8),这时候会把元组的第一个数据给a,第二个数据给b,剩下的数据给args三、**的这种用法是传递一个字典,python中的字典是一个大括号包含的数据,如{"a":"test1","b":"test2","c":"test3"}
eg3:
test(**args):
print args["a"], args["b"],args
argument={"a":"test1","b":"test2","c":"test3"}
test(**argument)
这时候的输出为:test1,test2,{"a":"test1","b":"test2","c":"test3"}