函数的参数组合

一。 必选参数:必须传入的参数

二。默认参数:不传入取默认值,传入则覆盖,必须指向不变对象

>>> 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

原文地址:https://www.cnblogs.com/GH-123/p/7779713.html