'''
Created on 2016年3月24日
@author: Zroad
'''
def f1(a,b,c):
print a,b,c
f1(3,2,1)
f1(19,9,29)
def f2(a,b,c):
print a,b,c
f2(c=3,b=2,a=1)
f2(b=20,c=10,a=5)
def f3(a=1,b=2,c=3):
print a,b,c
f3()
f3(c=4)
f3(a=5,c=900)
f3(b=5,a=6,c=8)
def f4(*param):
并将该元组赋值给param
for x in param:
print x,
f4(1,2,3,4,5,6)
print '-----------------'
def f5(**param):
赋值给param
print param
f5(a=1,b=2,c=3,d=4)
后的个数必须同定义的函数参数个数一致
def func(a,b,c,d):
print a,b,c,d
args = [1,2,3,4]
func(*args)
"""
关键字参数做可变参数解包时,字典的键必须同函数的参数保持一致
"""
args2 = {'a':1,"b":2,"c":3,"d":4}
func(**args2)
def tracer(func1, *pargs, **kargs):
"""
varargs调用语法
"""
print "calling:",func.__name__
return func1(*pargs, **kargs)
def func1(a,b,c,d):
return a + b + c + d
"""
输出结果:
calling: func
305
"""
print tracer(func1, 1, b=4, c=100, d=200)