函数对象对象可以像变量一样进行赋值
还可以作为列表的元素进行使用 可以作为返回值返回 可以作为参数进行传递# def fn():# print("我叫fn")# fn()# print(fn) ## fn()# gn = fn # 函数名可以进行赋值# print(gn)# gn()# fn = 666# print(fn) # 666# def func1():# print("朱祁镇")## def func2():# print("徐阶")## def func3():# print("王阳明")## def func4():# print("魏忠贤")## lst = [func1, func2, func3, func4] # 函数+() 就是调用.# print(lst)## # lst[0]()# # for el in lst: # el是列表中的每一项.# # el() # 拿到函数. 执行函数### a = 10# b = 20# c = 30# lst = [a, b, c]# print(lst)# def wrapper():# def inner():# print("我的天, 还可以扎样写")# print(inner) # .inner at 0x00000000028989D8># inner()# return inner## ret = wrapper() # .inner at 0x00000000028989D8># print(ret)# ret()# def wrapper():# def inner():# print("哈哈哈")# return inner # 函数名可以像返回值一样返回## ret = wrapper()# ret() # 在函数外面访问了函数内部的函数# ret()# ret()## def func1():# a = 10# return a# print(func1())# 函数可以作为参数进行传递def func1(): print("谢晋")def func2(): print('杨士奇')def func3(): print('徐渭')def func4(): print("柳如是")# 代理. 装饰器的雏形def proxy(a): # a就是变量. 形参 print("我是代理") a() print("代理执行完毕")proxy(func1)proxy(func3)proxy(func4)