python 函数简介之三

1. 非固定个数的实参----参数组,* args ,其结果将以元组的形式呈现出来

def func(*args):
    print(args)
func(1,2,3,4,5)    #第一种调用方式, 多个实参
func(*[1,2,3,4,5])  #第二种调用方式, 将以*[] 的形式调用
#运行结果
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)

2. 固定个数实参,参数组, 二者结合  (a, *args)

def func2(x,*args):
    print(x,args)
func2('a',1,2,3,4)   #扣除固定的形参, 其他实参全归入参数组, 以元组形式列出

#结果
a (1, 2, 3, 4)

3. **kwargs 把实参(key=value)转化为字典的形式

def func3(**kwargs):
    print(kwargs)
    print(kwargs['name'])
    print(kwargs['age'])
func3(name='Frank',age=26)


#结果:
{'name': 'Frank', 'age': 26}
Frank
26

4. args, *args , **kwargs

def func5(name,*args,**kwargs):
    print(name,args,kwargs)
func5('Alex',1,3,'teacher',age=18,sex='m')

#结果
Alex (1, 3, 'teacher') {'age': 18, 'sex': 'm'}

5, 高阶函数: 变量可以指向函数, 函数的参数能接受变量, 那么一个函数可以接受另一个函数作为参数

def func(a, b, f):
    return f(a) + f(b)

b= func(1, -1, abs)
print(b)

#结果
2

 

posted @ 2017-01-15 22:13  FrankB  阅读(197)  评论(0编辑  收藏  举报