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

    1. 函数是一类对象

    ## 1. 函数名可以被引用
    def index():
        print('the test01')
    a = index   #函数名可以被引用
    print(a)
    print(id(index))
    a()
    
    ## 2.函数名可以当参数传递
    def foo(x,y,func):
        print(x,y)
        func()
    def bar():
        print('123')
    foo(1,2,bar)    # 函数名当成参数来传递
    
    ## 3.函数名可以当返回值使用
    ## 传参的时候没有特殊需求,一定不要加括号,加括号当场执行了
    def index():
        print("from index")
    def func(a):
        return a
    a = func(index) #函数名可以当返回值使用
    print(a)
    a()
    
    ## 4.函数名可以被当作容器类型的元素
    def func():
        print('from func')
    
    l1 = [1, '2', func, func()]  #函数可以被当作类型的元素 func() 一旦被读到就会立马执行
    
    f = l1[2]
    print(f)

    2. 实例:

    def register():
        print('register')
    
    def login():
        print('login')
    
    def shopping():
        print('shopping')
    
    def pay():
        print('pay')
    #使用函数名
    func_dic = {
        '1': register,
        '2': login,
        '3': shopping,
        '4': pay
    }
    
    def main():
        while True:
            print("""
                1、注册
                2、登录
                3、购物
                4、付款
                5、退出
            """)
            choice = input("请输入对应的编号:").strip()
            if choice == '5':
                break
            if choice not in func_dic:
                continue
            else:
                func_dic[choice]()
    main()
  • 相关阅读:
    Papervision3D Essentials中文版,附Papervision3D_2.1.920.swc和章节练习源码
    谷歌Chrome浏览器上安装调试(debugger)版本的Flash Player
    Flash运行时错误代码解释说明
    XML
    Android手机与电脑互通
    mysql
    j2ee
    Linux
    C_obj
    maven
  • 原文地址:https://www.cnblogs.com/bigbox/p/11837498.html
Copyright © 2011-2022 走看看