1. 程式人生 > >python-- 函式傳參

python-- 函式傳參

 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