之前介绍的函数 , 都是 接收具体的 变量 或 字面量 数据 作为参数 , 如 : 数字 / 布尔值 / 字典 / 列表 / 元组 等 ;
函数 也可以作为参数 , 传入另一个函数中 ;
在 Python 中,函数是一种可传递的实体 ;
这意味着可以将一个函数作为另一个函数的参数进行传递 ;
函数作为参数传递时 , 通常被称为 " 高阶函数 " ;
函数 作为参数 是 计算逻辑 的传递 , 不是传统的数据传递 ;
在下面的 caculate_num 函数中 , 接收一个函数参数 action ,
该参数使用了 函数调用语法 action(1, 2) 执行了一个函数操作 ,
action 可以使用函数调用语法 , 那么 action 必定也是一个函数 ;
caculate_num 函数体中的逻辑 , 由传入的 action 参数决定 , 可以进行加法操作 , 减法操作 等操作 ;
action 函数参数 , 也需要接收两个参数进行计算 , 下面的代码中 action 函数是加法操作 , 接收两个参数后进行加法操作 , 返回两个数字进行加法计算的结果 ;
代码示例 :
"""
函数多返回值 代码示例
"""
# 定义函数
def add(x, y):
return x + y
# 函数中接收另外一个函数作为函数
def caculate_num(action):
result = action(1, 2)
print(result)
# 将 add 函数作为参数 传递给 caculate_num 函数
caculate_num(add) # 3
执行结果 :
3
代码示例 :
"""
函数多返回值 代码示例
"""
# 定义函数 : 加法
def add(x, y):
return x + y
# 定义函数 : 减法
def minus(x, y):
return x - y
# 定义函数 : 乘法
def multiple(x, y):
return x * y
# # 定义函数 : 除法
def division(x, y):
return x / y
# 函数中接收另外一个函数作为函数
def caculate_num(action):
result = action(4, 2)
print(result)
# 将 add 函数作为参数 传递给 caculate_num 函数
caculate_num(add) # 6
caculate_num(minus) # 2
caculate_num(multiple) # 8
caculate_num(division) # 2.0
执行结果 :
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
6
2
8
2.0
Process finished with exit code 0