python语法-函数多返回值、函数多种传参方式、匿名函数
# 函数多个返回值
def test_return():
return 1, "hello", True
x, y, z = test_return()
print(f"x = {x}\ny = {y}\nz = {z}")
# 多种传参方式
def user_info(name, age, gender):
print(f"姓名是:{name},年龄是:{age},性别是{gender}")
# 位置参数-默认使用形式
user_info("小明", 20, "男")
# 关键字参数
user_info(name="小王", age=11, gender="女")
user_info(age=10, gender="女", name="潇潇") # 不按照参数的定义顺序传参
user_info("甜甜", gender="女", age=9) # 位置参数和关键字参数混用,位置参数需在前
# 缺省参数(默认值,默认值的参数必须定义在最后)
def user_info(name, age, gender = "男"):
print(f"姓名是:{name},年龄是:{age},性别是{gender}")
user_info("小天", 13, "男")
# 不定长参数
# 1.位置传递的不定长(传进的参数被args变量收集,被合并成一个元组(tuple),args是元组类型)
def user_info(*args):
print(args)
user_info('Tom')
user_info("Tom", 18)
# 2.关键字传递的不定长(参数是键值对的情况下,被kwargs接收并组成字典)
def user_info(**kwargs):
print(kwargs)
user_info(name = "Tom", age = 18, id =110)
4.1 函数作为参数传递
# 函数作为参数传递(作用:计算逻辑的传入,而非传入数据)
def test_func(computer): # 定义一个函数,接收另一个函数作为传入参数
result = computer(1,2)
print(f"computer参数的类型是:{type(computer)}")
print(f"计算结果:{result}")
def computer(x, y): # 定义一个函数,准备作为参数传入另一个函数
return x +y
test_func(computer) # 调用,并传入函数
4.2 lambda匿名函数
# 匿名函数
"""def 定义有名称的函数,可以使用多次
lambda 定义匿名函数,只可临时使用一次
定义语法:
lambada 传入参数:函数体(只有一行代码)"""
# 演示lambda匿名函数
def test_func(computer): # 定义一个函数,接收其他函数输入
result = computer(1, 2)
print(f"结果是:{result}")
test_func(lambda x, y: x + y) # 通过lambda匿名函数的形式,将匿名函数作为参数传入
参考内容:
黑马程序员-python基础