Python 函数(参数组合)

在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数

定义一个函数,包含上述4种参数:

def  func(a,b,c=0,*args,**kw):
    print 'a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw

 在函数调用的时候,Python解释器自动按照参数位置和参数名把对应的参数传进去。

print  func(1,2)  
# = > a= 1 b= 2 c= 0 args= () kw= {}

print func(1,2,c=3)
# = > a= 1 b= 2 c= 3 args= () kw= {}

print func(1,2,3,'a','b')
# => a= 1 b= 2 c= 3 args= ('a', 'b') kw= {}

print  func(1,2,3,'a','b',x=99)
# =>a= 1 b= 2 c= 3 args= ('a', 'b') kw= {'x': 99}

 最神奇的是通过一个tuple和dict,你也可以调用该函数:

args=(1,2,3,4)
kw={'x':99}
print  func(*args,**kw)  # =>a= 1 b= 2 c= 3 args= (4,) kw= {'x': 99}

 所以,对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

转自:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000

原文地址:https://www.cnblogs.com/zwgblog/p/7196385.html