函数名的应用

1.函数名的内存地址

# def func():
# 	print('呵呵')
#
# print(func)
# 结果: <function func at 0x00000000021F89D8>
# 返回的是func这个函数在内存中的存储地址

 2.函数名可以赋值给其他的变量

# def func1():
# 	print('呵呵')
#
# func1()     # 调用函数"func1"
#
# a = func1   #将函数"func1"的内存地址赋值给变量"a"
# a()         # "a"就是指向了"func1"函数的内存地址,所以也是可以条用这个函数

 3.函数名可以当做容器的元素

# def func1():
# 	print('呵呵')
#
# def func2():
# 	print('哈哈')
#
# def func3():
# 	print('嘿嘿')
#
# def func4():
# 	print('吼吼')
#
# lst = [func1,func2,func3,func4]
# for i in lst:
# 	i()
# 结果:
# 呵呵
# 哈哈
# 嘿嘿
# 吼吼

 4.函数名可以当做函数的参数进行传递

# def func1():
# 	print('吃了吗')
#
# def func2(fn):
# 	print('我是func2')
# 	fn()
#
# func2(func1)
# 结果
# 我是func2
# 吃了吗

 5.函数名也可以当做另一个函数的返回值

def func1():
# 	print('我是函数一')
# 	def func2():
# 		print('我是函数二')
# 	return func2
# fn = func1()
# fn()
# 结果:
# 我是函数一
# 我是函数二
# 调用函数一,在函数一里定义了一个函数二,return返回的是函数二的函数名
# 函数外用"fn"去接收了这个函数名,就相当于把函数二赋值给了"fn"

  

原文地址:https://www.cnblogs.com/594504110python/p/9326115.html