面试题编程题16-python 函数参数

#位置实参
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'})

 

posted @ 2019-06-06 18:16  飞虎就是我  阅读(255)  评论(0)    收藏  举报