#coding=utf-8

# python2中函数参数的定义方式

# 正常定义

def f1(a,b):
    print 'a:',a
    print 'b:',b

f1(1,2)

print '....................'
# 带默认值的:要么形参都有默认值,否则有默认值的参数一定要写在后面

def f2(a,b = 100):
    print 'a:',a
    print 'b:',b

f2(1)
print '....................'
f2(1,2) 
print '....................'

# 收集参数:用'*'来收集参数,组成一个元组

def f3(*a):
    print 'a:',a

f3(1,2,3,4)


# 用'*'来收集参数时,若有多个参数时要写在最后面,如后面还有普通参数会出错

print '....................'

def f4(a,*b):
    print a,b

f4(1,2,3,4,5)
      
print '....................'

def f5(a,b,*c,**d):
    print a,b,c,d

f5(1,2,3,4,5,6,c = 7)
print '....................'

f5(1,2,c =7)


print '....................'   