day12-01-函数名的使⽤以及第⼀类对象

⼀. 函数名的运⽤.
函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量.
1. 函数名的内存地址
def func():
print("呵呵")
print(func)
结果:
<function func at 0x1101e4ea0>
2. 函数名可以赋值给其他变量
def func():
print("呵呵")
print(func)
a = func # 把函数当成⼀个变量赋值给另⼀个变量
a() # 函数调⽤ func()
3. 函数名可以当做容器类的元素
def func1():
print("呵呵")
def func2():
print("呵呵")
def func3():
print("呵呵")
def func4():
print("呵呵")lst = [func1, func2, func3]
for i in lst:
i()
4. 函数名可以当做函数的参数
def func():
print("吃了么")
def func2(fn):
print("我是func2")
fn() # 执⾏传递过来的fn
print("我是func2")
func2(func) # 把函数func当成参数传递给func2的参数fn.
5. 函数名可以作为函数的返回值
def func_1():
print("这⾥是函数1")
def func_2():
print("这⾥是函数2")
print("这⾥是函数1")
return func_2
fn = func_1() # 执⾏函数1. 函数1返回的是函数2, 这时fn指向的就是上⾯函数2
fn() # 执⾏上⾯返回的函数
原文地址:https://www.cnblogs.com/ailisatest/p/13560677.html