1. 最常见的形式,参数之间用逗号间隔。调用时,参数个数必须一致。
>>> def test(x,y): ... print x,y ... >>> test(1,2) 1 2
2. 提供默认值
>>> def test(x,y=2): ... print x,y ... >>> test(1) 1 2
3.参数个数不定,以*加上形参名。在函数内部,参数以元组(tuple)的方式存放。
>>> def test(*x): ... print len(x) ... print x ... >>> test() 0 () >>> test(1) 1 (1,) >>> test(2,4) 2 (2, 4) >>>
4.参数个数不定,以**加上形参名。在函数内部,参数以字典(Dictionary)的方式存放。
>>> def test(**x): ... print len(x) ... print x ... >>> test() 0 {} >>> test(x=1,y=3,z=5) 3 {'y': 3, 'x': 1, 'z': 5} >>>
5.以上4种方式的组合。按方式1~4的优先级逐个解析参数。
>>> def test(x,y=1,*m,**n): ... print x,y,m,n ... >>> test(1) 1 1 () {} >>> test(1,2) 1 2 () {} >>> test(1,2,4) 1 2 (4,) {} >>> test(1,2,4,5,a='b') 1 2 (4, 5) {'a': 'b'} >>>