Python 函数头等对象

  • Post category:Python

Python 中函数是头等对象(First-Class Objects),这意味着函数在 Python 中和其它对象一样有类似于赋值、传递给其它函数等操作。

函数对象的使用方法:

定义函数

函数的定义使用 def 关键字,语法为:

def func_name(parameter1, parameter2, ...):
    # 函数体
    return value

其中 parameter1, parameter2, … 是函数的形参,函数体为实现的具体功能,return 语句用于返回函数结果的值。

调用函数

调用函数可以直接使用函数名加括号的方式。例如:

def add(x, y):
    return x + y

result = add(3, 5)
print(result)  # 输出 8

函数调用的结果可以用变量接收,然后可以进行后续的操作。

函数作为参数

函数对象可以当作参数传递给其它函数,示例代码如下:

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def apply_operation(f, x, y):
    return f(x, y)

result1 = apply_operation(add, 3, 5)
print(result1)  # 输出 8

result2 = apply_operation(subtract, 10, 5)
print(result2)  # 输出 5

apply_operation 函数中,使用 f(x, y) 调用传递进来的函数。

函数作为返回值

函数本身也可以作为函数的返回值,示例代码如下:

def make_multiplier(factor):
    def multiplier(x):
        return x * factor
    return multiplier

double_value = make_multiplier(2)
result1 = double_value(3)
print(result1)  # 输出 6

triple_value = make_multiplier(3)
result2 = triple_value(3)
print(result2)  # 输出 9

make_multiplier 函数中,定义了局部函数 multiplier,该函数使用外部参数 factor 定义,然后将其作为返回值。在上述示例中,make_multiplier(2) 返回 multiplier 函数,double_value 变量引用了该函数,然后可以当作普通函数使用。