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

    一、函数是第一类对象,即函数可以当作数据传递

    #1 可以被引用
    #2 可以当作参数传递
    #3 返回值可以是函数
    #3 可以当作容器类型的元素

    二、利用该特性,优雅的取代多分支的if

    def foo():
        print('foo')
    
    def bar():
        print('bar')
    
    dic={
        'foo':foo,
        'bar':bar,
    }
    while True:
        choice=input('>>: ').strip()
        if choice in dic:
            dic[choice]()
    

    三、函数是第一个等公民:可以把函数当变量去用

    def func():  # func=函数的内存地址
        print('from func')
    
    x=10 # x=10的内地址
    #1、可以被赋值
    f=func
    f()
    
    #2、可以当作参数传给另外一个函数
    def foo(f):
        print(f)
        f()
    
    foo(func)
    
    # 3、可以当作函数的返回值
    def foo(f):
        return f
    res=foo(func)
    print(res)
    
    # 4、可以当作容器类型的元素
    l=[func,]
    print(l)
    l[0]()
    

    四、

    def login():
        print('登录...')
    
    def register():
        print('注册...')
    
    def tranfer():
        print('转账...')
    
    def withdraw():
        print("提现功能。。。")
    
    func_dic={
        "1":["登录",login],
        "2":["注册",register],
        "3":["转账",tranfer],
        "4":["提现",withdraw]
    }
    
    while True:
        for k,v in func_dic.items():
            print(k,v[0])
        choice = input("请输入您的命令编号,输入0退出:").strip()
        if choice == "0":
            break
        if choice in func_dic:
            func_dic[choice][1]()
        else:
            print("输入的指令错误")
    练习标注
  • 相关阅读:
    Struts2 Hello World
    Struts2入门(1)
    Struts2_day01
    Java Web Model2实战
    Oracle_day04
    SAP调用外部webservice接口
    通用清账程序
    服务器IDOC文件解析程序
    IDOC接口创建步骤
    SAP 本地发送IDOC
  • 原文地址:https://www.cnblogs.com/datatool/p/13457917.html
Copyright © 2011-2022 走看看