函数对象就是函数可以当做变量使用
函数的创建本质就是
func = 内存地址
函数加括号使用func():使用的是函数的返回值
函数不加括号使用func: 使用的是函数的内存地址
例如:
def func():
print('func 函数')
将func当做变量赋值
切记 函数加括号和不加括号调用区别非常大
# 函数赋值
f = func
print(f, func) # 结果是内存地址 <function func at 0x00000183E998D940> <function func at 0x00000183E998D940>
f() # 相当于调用func
以下的所有方法实质都是调用func函数,结结果完全一样
# 函数当做参数传值
def func1(x):
x()
func1(func) # 还是相当于调用func函数
# 函数当做列表中的成员
ls = [func,]
ls[0]() # 还是相当于调用func函数
# 函数当做字典中的值
dic = {
'1': func
}
dic['1']()
dic = {
'1': [1, func]
}
dic['1'][1]()