函数引用:
先看下面一段代码:
# 定义一个函数
def test():
print("=== test ===")
test()
print(test)
输出结果:

从输出结果可以看出:
当函数名带有小括号的时候(test()),表示调用该函数;
但是如果函数名不带有小括号(test),就表示一个指向函数块的对象,此时 test 表示函数的引用; <function test at 0x009994A8> 表示该对象是 function 类型的,对象名为 test,以及对象在内存中的地 址为 0x009994A8。
如果定义一个变量 a = test,那么就表示 a 也指向 test 所指向的函数体,即变量 a 也是函数的引用,那么 a() 也可以调用该函数,如下:
# 定义一个函数
def test():
print("=== test ===")
test()
print(test)
# 定义一个变量 a = test,那么 a 就指向 test 所指向的函数体,即 a 也成了函数的引用
a = test
# 输出变量 a 的值和输出 test 的值一样
print(a)
# 那么 a() 也可以调用上面的函数 test()
a()
输出结果:

本文详细解析了Python中函数引用的概念,通过实例演示了如何将函数名赋值给变量,使变量成为函数的引用,并能调用原函数。这有助于理解函数作为一等公民在Python中的使用。
1277

被折叠的 条评论
为什么被折叠?



