python 基本有4种函数传参方式:
1. 直接传参 fun(arg1,arg2,...)
2. 默认传参 fun(arg1,arg2='x')
3. 集合传参 fun(*arg)
4. 字典传参 fun(**arg)
下面从一些简单实例来说明:
1. 直接传参方式,参数变量需要对应,比如传的是X,Y 函数中就需要使用这两个变量名,另外如果传的参数个数不对,就会出错。
>>> def ptest1(x,y):
... return x + y
...
>>> ptest1(1,2)
3
>>> ptest1(1,2,3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ptest1() takes exactly 2 arguments (3 given)
2. 默认传参,当参数没被传给函数时,函数就会按定义好的默认参数传入。
>>> def ptest2(x,y=1):
... return x + y
...
>>> ptest2(1,3)
4
>>> ptest2(1)
2
3. 有时候我们会传多个参数给函数,但参数个数不确定,可能0个,也可能好几个,这时候就可以使用集合传参的方式。
>>> def ptest3(*arg):
... return arg[0] + arg[1]
...
>>> ptest3(1,2,3,4)
3
4. 函数也可以像字典一样来传参。
>>> def ptest4(**arg):
... print '%s is %d year old' % (arg['name'],arg['age'])
...
>>> ptest4(name='xiaoming',age=20)
xiaoming is 20 year old