一。 必选参数:必须传入的参数
二。默认参数:不传入取默认值,传入则覆盖,必须指向不变对象
>>> def my_fun(a,b=[2,]):... b.append(5)... print 'a=',a,'b=',b... >>> my_fun(1)a= 1 b= [2, 5]>>> my_fun(1)a= 1 b= [2, 5, 5]>>> my_fun(1)a= 1 b= [2, 5, 5, 5]>>>
三。可变参数:
>>> def my_fun(*a):... print a... >>> my_fun(1,2,3)(1, 2, 3)>>>
参数 a 接收到是一个tuple
也可以传入tuple和List
>>> def my_fun(*a):... print a... >>> b = [4,5,6]>>> my_fun(*b)(4, 5, 6)>>> my_fun(b)([4, 5, 6],)>>> my_fun(1)(1,)>>>
区别传入*b 和 b
四。关键字参数
>>> def my_fun(**a):... print a... >>> b = { 'city':'Beijing','job':'Engineer'}>>> my_fun(**b){ 'city': 'Beijing', 'job': 'Engineer'}>>> my_fun(city = 'Beijing',job = 'Engineer'){ 'city': 'Beijing', 'job': 'Engineer'}>>>
a 接收一个dict
五。参数组合
参数组合按左往右适配 必选参数 默认参数 可变参数 关键字参数
六。参考:
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000