def test():return 1, 'a', Truex, y, z = test()
print(f"x={x},y={y},z={z}")
位置参数:调用时根据参数位置传递参数
关键字参数:调用时通过“键=值”形式传参
def user(name, age, gender):print(f"name:{name},age:{age},gender:{gender}")
user('jay', 10, '男')
user(name='jay', age=10, gender='男')
缺省参数(默认参数):设置默认值的参数放在最后,否则报错
def user(name, age, gender='男'):print(f"name:{name},age:{age},gender:{gender}")user('jay', 10)
user('jay', 10, '女')
不定长参数(可变参数):1、位置传递不定长;2、关键字传递不定长
1、位置不定长:形参作为元组存在
def user_info(*args):print(f"args:{args},参数类型为:{type(args)}")user_info(1, 2, 'java')
2、关键字不定长:形参作为字典存在,key=value
def user_info(**kwargs):print(f"kwargs:{kwargs},参数类型为:{type(kwargs)}")user_info(name='jay', age='18', gender='武装直升机')
函数作为参数传递(函数调用函数):计算逻辑的传递,而非数据的传递
def test_func(compute):result = compute(1, 2) print(type(compute))return resultdef compute(x, y):return x + yresult = test_func(compute)
print(result)
lambda匿名函数:只可临时使用一次
lambda 传入参数: 函数体(一行代码!!)
def test_func(compute):result = compute(1, 2)print("result=", result)test_func(lambda x, y: x + y)
小结