函数对象:
# 函数对象指的是函数可以被当成变量去使用
def foo(): # foo = 函数的内存地址
print('from foo')
1、可以被赋值:
f = foo
print(f is foo)
f()
2、以当作参数传给一个函数:
def bar(func):
print(func)
func()
bar(foo)
3、可以当成一个函数的返回值:
def bar(func):
return func
res=bar(foo)
print(res)
4、可以当成容器类型的元素:
l = [foo]
print(l)
l[0]()
5、示例:
def login():
print('登录功能......')
def withdraw():
print('提现功能......')
def transfer():
print('转账功能......')
def recharge():
print('充值功能')
func_dic={
"1": [login,"登录"],
"2": [withdraw,"提现"],
"3": [transfer,"转账"],
"4": [recharge,"充值"]
}
# func_dic["1"][0]()
while True:
print("0 退出")
for k in func_dic:
print("%s %s" %(k,func_dic[k][1]))
choice = input("Cmd: ").strip()
if choice == "0":
break
if choice in func_dic:
func_dic[choice][0]()
else:
print('输入的指令不存在')