python-- 函式傳參
阿新 • • 發佈:2019-02-05
python 基本有4種函式傳參方式:
1. 直接傳參 fun(arg1,arg2,...)
2. 預設傳參 fun(arg1,arg2='x')
3. 集合傳參 fun(*arg)
4. 字典傳參 fun(**arg)
下面從一些簡單例項來說明:
1. 直接傳參方式,引數變數需要對應,比如傳的是X,Y 函式中就需要使用這兩個變數名,另外如果傳的引數個數不對,就會出錯。
2. 預設傳參,當引數沒被傳給函式時,函式就會按定義好的預設引數傳入。>>> 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)
>>> 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