函数
目录
函数的多返回值
def test():
return 1,2
x,y=test()
函数的多种参数使用形式
位置参数
位置参数:调用函数时根据函数定义的参数位置来传递参数
注意事项:传递的参数和定义的参数顺序,个数必须一致
def user_info(name,age,gender):
print(f"姓名是{name},年龄是{age},性别是{gender}")
user_info("Sassybox","3","Box")
关键字参数:
通过"键=值"的形式传递参数
注意事项:函数调用时,如果有位置参数,位置参数必须在关键字参数的前面
关键字参数不存在先后顺序
关键字传参
def user_info(name,age,gender):
print(f"姓名是{name},年龄是{age},性别是{gender}")
user_info(name="Sassybox",age=3,gender="Box")
关键字传参顺序可以打乱
def user_info(name,age,gender):
print(f"姓名是{name},年龄是{age},性别是{gender}")
user_info(age=3,name="Sassybox",gender="Box")
位置参数必须在关键字参数的前面
def user_info(name,age,gender):
print(f"姓名是{name},年龄是{age},性别是{gender}")
user_info("Sassybox",age=3,gender="Box")
缺省参数:(默认参数)
设置默认值必须统一都在最后,这里的gender也需要设置默认值
def user_info(name,age,gender="Box"):
print(f"姓名是{name},年龄是{age},性别是{gender}")
user_info(age=6,name="Sassybox")
不定长参数:
位置传参
位置传参:
def user_info(*args):
print(f"args参数的类型是:{type(args)},内容是:{args}")
user_info(1,2,3,"Sassybox")
关键字传参
参数数量不受限,但参数形式受限,必须“键=值”的形式传入
def user_info(**kwargs):
print(f"args参数的类型是:{type(kwargs)},内容是:{kwargs}")
user_info(name="Sassybox",age=9,gender="Box")
函数作为参数传递
计算逻辑的传递,而非数据的传递
'''
函数作为参数传递
'''
def compute(x,y):
return x+y
def test_func(compute):
result=compute(1,2)
print(f"compute参数的类型是:{type(compute)}")
print(f"计算结果是:{result}")
test_func(compute)
输出结果:
lambda匿名函数
匿名函数语法
def test_func(compute):
result=compute(1,2)
print(f"compute参数的类型是:{type(compute)}")
print(f"计算结果是:{result}")
test_func(lambda x,y:x+y)
lambda表达式遇到的报错
Lambda表达式的参数不允许带括号
is_equal=lambda suffix,prefix: suffix==prefix
lambda函数的使用
参考:Python lambda(匿名函数) | 菜鸟教程 (runoob.com)
lambda arguments: expression
expression作为表达式,计算并返回函数的计算结果
x=lambda x,y:x+y
result=x(2,3)
print(result)
输出结果: