【Python】函数进阶 ③ ( 函数作为参数传递 )

2023-10-11 18:28:11 浏览数 (2)

一、函数参数传递类型

之前介绍的函数 , 都是 接收具体的 变量 或 字面量 数据 作为参数 , 如 : 数字 / 布尔值 / 字典 / 列表 / 元组 等 ;

函数 也可以作为参数 , 传入另一个函数中 ;

在 Python 中,函数是一种可传递的实体 ;

这意味着可以将一个函数作为另一个函数的参数进行传递 ;

函数作为参数传递时 , 通常被称为 " 高阶函数 " ;

函数 作为参数 是 计算逻辑 的传递 , 不是传统的数据传递 ;

在下面的 caculate_num 函数中 , 接收一个函数参数 action ,

该参数使用了 函数调用语法 action(1, 2) 执行了一个函数操作 ,

action 可以使用函数调用语法 , 那么 action 必定也是一个函数 ;

caculate_num 函数体中的逻辑 , 由传入的 action 参数决定 , 可以进行加法操作 , 减法操作 等操作 ;

action 函数参数 , 也需要接收两个参数进行计算 , 下面的代码中 action 函数是加法操作 , 接收两个参数后进行加法操作 , 返回两个数字进行加法计算的结果 ;

代码示例 :

代码语言:javascript复制
"""
函数多返回值 代码示例
"""


# 定义函数
def add(x, y):
    return x   y


# 函数中接收另外一个函数作为函数
def caculate_num(action):
    result = action(1, 2)
    print(result)


# 将 add 函数作为参数 传递给 caculate_num 函数
caculate_num(add)  # 3

执行结果 :

代码语言:javascript复制
3

二、代码示例 - 函数参数传递类型

代码示例 :

代码语言:javascript复制
"""
函数多返回值 代码示例
"""


# 定义函数 : 加法
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

执行结果 :

代码语言:javascript复制
D:01_Develop22_PythonPython39python.exe D:/002_Project/011_Python/HelloPython/Hello.py
6
2
8
2.0

Process finished with exit code 0

0 人点赞