Python之函数对象

函数对象:

# 函数对象指的是函数可以被当成变量去使用
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('输入的指令不存在')

猜你喜欢

转载自blog.csdn.net/weixin_48283789/article/details/107471084