天天看點

Python中函數參數

Python中函數的參數是很靈活的,下面分四種情況進行說明。

(1) fun(arg1, arg2, ...)

這是最常見的方式,也是和其它語言類似的方式

下面是一個執行個體:

>>> def fun(x, y):
    return x - y

>>> fun(12, -2)
14      

(2) fun(arg1, arg2=value2, ...)

這種就是所謂的帶預設參數的函數,調用的時候我們可以指定arg2的值,也可以省略。

下面是帶預設參數的函數執行個體:

>>> def fun(x, y=0):
    return x - y

>>> fun(10)
10
>>> fun(10, -2)
12
>>> fun(10, y=2)
8
>>> fun(x=10, y=2)
8      

帶預設參數的函數有如上四種調用方式,但是我們調用的時候參數的名稱必須和函數定義的時候的參數一緻,否則會報錯:

>>> fun(a=10, b=2)

Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    fun(a=10, b=2)
TypeError: fun() got an unexpected keyword argument 'a'      

(3) fun(*arg)

即不定長參數,不管實參有多少個,在函數内部都被存放在以形參名為辨別符的tuple中

下面是一個執行個體

>>> def fun(*param):
    print(param)

>>> fun(12, 3, 4)
(12, 3, 4)      

(4) fun(**arg)

>>> def fun(**param):
    print(param)

>>> fun(sun=0, mon=1, tues=2)
{'sun': 0, 'mon': 1, 'tues': 2}