zoukankan      html  css  js  c++  java
  • 01_函数对象

    函数对象最重要一点:就是把函数当做变量使用

    import time
    # 需求:有登录功能、转账功能、查询余额、提现功能、注册功能
    # 这些功能打印给客户看,用户根据输入不同的标签然后进行选择

    # # 1:先写功能模块
    def quit():
    print('退出中....')

    def register():
    print('注册功能')

    def login():
    print('登录功能')

    def transfer():
    print('转账功能')

    def withdraw():
    print('提现功能')

    # 2 这些功能打印给客户看
    tags = 1
    while tags:
    print("""
    0【退出】
    1【注册】
    2【登录】
    3【转账】
    4【提现】
    """)
    # 3 根据用户选择,我们进行实现对应的功能
    user_put = input('请选择你要执行的操作.....').strip() # 过滤掉空格
    if user_put == '0':
    quit()
    tags = 0
    elif user_put == '1':
    register()
    elif user_put == '2':
    login()
    elif user_put == '3':
    transfer()
    elif user_put == '4':
    withdraw()
    else:
    print('请选择正确的操作')
    else:
    print('程序已退出......')

    # 优化版本:
    # 1:优化打印: 这里就是把函数的地址作为变量传入,所以
    # 我们字典里面就有函数的地址,调用该函数只需要在地址后面
    # 加个()即可。 函数地址() == 函数()

    func_dic = {"0": ("【退出】", quit),
    "1": ("【注册】", register),
    "2": ("【登录】", login),
    "3": ("【转账】", transfer),
    "4": ("【提现】", withdraw)
    }

    # 2: 将选项打印到屏幕给用户观看
    # 首先dict.items() 得到的结果是迭代器,并且返回值是将键值的形式(k, v)
    # 然后用k, v = (k1, v1)解开元祖 k=k1, v=v1

    tags = 1
    while tags:
    for k, v in func_dic.items():
    print(k, v[0])

    # 3:根据用户的输入实现相对应的功能
    user_put = input('请选择你要执行的操作.....').strip() # 过滤掉空格
    if user_put in func_dic:
    func_dic[user_put][1]()
    if user_put == '0':
    tags = 0
    else:
    print('请选择正确的操作')
    else:
    time.sleep(2)
    print('退出成功')

    # 重要总结: 这里面用到了一个比较重要的知识点,就是把函数当做变量使用
    # def func1()
    # 1:如果我们调用阶段像以变量的形式,就写func,就是调用了该函数的地址
    # 2:如果我们要调用该功能,就func(),也就是函数地址后加上()就是调用它

    # 补充总结:上面功能用到几个小知识点
    # 1: a,b = (1,2)
    # 2: 字典的items方法,以迭代器的方式打印键值对,返回值是元祖
    # 3:for k,v的循环方式就是把上面两个合在一起使用
    # 4:字典的拓展使用方式==》 func_dic[user_put][1]()



  • 相关阅读:
    ROW_NUMBER()用法(转)
    winform MD5值生成
    VC使用“添加方法向导”添加调度映射方法“
    MyGeneration配置说明
    dataGridView取消自动生成列
    PHP魔术常量(magic constant)
    Eclipse添加DTD文件实现xml的自动提示功能
    Google:5个常见的SEO错误和6个SEO好主意
    PHP检查PEAR是否工作
    手把手教你在ubuntu上安装LAMP
  • 原文地址:https://www.cnblogs.com/haibaiwuchang/p/13388663.html
Copyright © 2011-2022 走看看