赞
赏
在 Python 中,函数 也是一种数据类型,可以和其他数据类型一样保存在 变量 中,也可用于赋值,也可用作其他函数的 参数,还可作为其他函数的 返回值。
Python 的函数也是一种值,所有函数都是 function 对象,这意味着可以把函数本身赋值给变量,就像把 整数、浮点数、列表、元组 赋值给变量一样。
def fun():
pass
f = fun
我们首先定义了一个 fun 函数,接着我们将 fun 函数赋值给变量 f。
def fun(num):
pass
f = fun
我们首先定义了一个 fun 的函数,该函数有一个参数,接着我们将 fun 函数赋值给变量 f。
Python 函数也是一种类型,可以保存在变量中
print("嗨客网(www.haicoder.net)")
def print_sep():
print("=========================")
# Python 函数也是一种类型,可以保存在变量中
f = print_sep
f()
程序运行后,控制台输出如下:
我们定义了一个函数 print_sep,该函数没有任何的参数和返回值。接着我们将 print_sep 函数赋值给 f,最后使用 f() 的形式调用函数。
这里 f() 的形式调用函数,其实就相当于 print_sep() 这样调用函数。
Python 带参数的函数变量
print("嗨客网(www.haicoder.net)")
def sum(a, b):
return a + b
# Python 带参数的函数变量
f = sum
retSum = f(10, 20)
print("retSum =", retSum)
程序运行后,控制台输出如下:
我们定义了一个函数 sum,该函数传入两个 int 类型的参数返回一个 int 类型的返回值,实现了求两个数的和。
接着,我们将 sum 赋值给变量 f,最后使用 f(10, 20) 的形式调用函数。这里 f(10, 20) 的形式调用函数,其实就相当于 sum(10, 20) 这样调用函数。
Python 带参数的函数变量
print("嗨客网(www.haicoder.net)")
# 定义函数类型的形参,其中fn是一个函数
def map_func(lis, func) :
result = []
# 遍历 lis 列表中每个元素,并对每个元素用 func 函数进行处理
for e in lis :
result.append(func(e))
return result
# 定义一个乘以2的函数
def mul(n) :
return n * 2
# 定义一个计算平方的函数
def square(n) :
return n * n
# 定义一个计算立方的函数
def cube(n) :
return n * n * n
lis = [1, 3, 5, 7, 9]
print("lis =", lis)
mul_result = map_func(lis, mul)
print("mul_result =", mul_result)
square_result = map_func(lis, square)
print("square_result =", square_result)
cube_result = map_func(lis, cube)
print("cube_result =", cube_result)
程序运行后,控制台输出如下:
我们定义了一个函数 map_func,该函数接受一个 list 类型的参数和一个函数类型的参数,实现的功能是对传入的 list 的每一个元素都调用函数 func 进行处理,并将处理后的结果返回。
接着,我们又定义了三个函数,分别为 mul、square 和 cube,三个函数的功能分别为:将传入的值乘以 2,计算传入的参数的平方和计算传入的参数的立方。
最后,我们定义了一个 list,并对该 list 调用我们的函数 map_func,函数的第二个参数分别为定义的 mul、square 和 cube。
从运行结果来看,我们分别实现了,对列表中的每个元素乘以 2,计算平方和计算立方的功能,这就是用函数做为函数参数的强大之处。
在 Python 中,函数也是一种数据类型,可以和其他数据类型一样保存在变量中,也可用于赋值,也可用作其他函数的参数,还可作为其他函数的返回值。Python 函数变量:
def fun():
pass
f = fun