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