函数名的多种用法
- 函数名当作变量名赋值
- 函数名当作函数的实参
- 函数名当作函数的返回值
- 函数名当作容器类型的元素
函数名当作变量名赋值
def index():
print('from function index')
# print(index)
res = index # 让res也指向Index函数体代码
# print(res)
res() # index()
# <function index at 0x000001FFA91460D0>
# <function index at 0x000001FFA91460D0>
# from function index
函数名当作函数的实参
def index():
print('from index')
def func(a):
print('from func')
print(a)
a()
func(index)
# from func
# <function index at 0x00000227921E60D0>
# from index
函数名当作函数的返回值
def func():
print('from func')
return index
def index():
print('from index')
res = func()
print(res)
res()
# from func
# <function index at 0x000001B4C0B42BF8>
# from index
把函数名当作容器类型的元素
def index():
print('from index')
l = [1,2,3,4,index,index()]
print(l)
print(l[-1])
print(l[-2])
# from index
# [1, 2, 3, 4, <function index at 0x00000263AED960D0>, None]
# None
# <function index at 0x00000263AED960D0>