1. 最常見的形式,參數之間用逗號間隔。調用時,參數個數必須一致。
>>> def test(x,y):<br />... print x,y<br />...<br />>>> test(1,2)<br />1 2<br />
2. 提供預設值
>>> def test(x,y=2):<br />... print x,y<br />...<br />>>> test(1)<br />1 2<br />
3.參數個數不定,以*加上形參名。在函數內部,參數以元組(tuple)的方式存放。
>>> def test(*x):<br />... print len(x)<br />... print x<br />...<br />>>> test()<br />0<br />()<br />>>> test(1)<br />1<br />(1,)<br />>>> test(2,4)<br />2<br />(2, 4)<br />>>> </p><p>
4.參數個數不定,以**加上形參名。在函數內部,參數以字典(Dictionary)的方式存放。
>>> def test(**x):<br />... print len(x)<br />... print x<br />...<br />>>> test()<br />0<br />{}<br />>>> test(x=1,y=3,z=5)<br />3<br />{'y': 3, 'x': 1, 'z': 5}<br />>>>
5.以上4種方式的組合。按方式1~4的優先順序逐個解析參數。
>>> def test(x,y=1,*m,**n):<br />... print x,y,m,n<br />...<br />>>> test(1)<br />1 1 () {}<br />>>> test(1,2)<br />1 2 () {}<br />>>> test(1,2,4)<br />1 2 (4,) {}<br />>>> test(1,2,4,5,a='b')<br />1 2 (4, 5) {'a': 'b'}<br />>>><br />