#位置实参
def func(a,b):
print('a='+a)
print('b='+b)
func('a','b')
func('b','a')
#关键字实参
def func1(a,b):
print('a=' + a)
print('b=' + b)
func1(a='a',b='b')
#参数具有默认值
def func1(a,b='fei'):
print('a=' + a)
print('b=' + b)
func1(a='a')
#参数可选
#可选参数一定要在末尾,否则error
def printFullName(first,last,middle=''):
#if middle:Error不对
if middle=='':
print(first+last)
else:
print(first+middle+last)
printFullName('zhang','fei','middle')
#函数名作为参数传递,一切皆对象
def func_a():
print('zhangfei')
def func_b(parameter):
a=parameter
a()
func_b(func_a)
#传递任意多数量参数--列表
def func(*parameter):
print(parameter)
func('zhang','fei','liwei')
func(*['guan','yu'])
def func(parameter):
print(parameter)
func(['guan','yu'])
#传递任意多数量参数--列表
def func(**parameter):
for k,v in parameter.items():
print(k+':'+v)
func(key1='zhang',key2='fei',key3='liwei')
func(**{'hu':'1','zhang':'2'})