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
变量引用了该函数,然后可以当作普通函数使用。