zoukankan      html  css  js  c++  java
  • 函数对象,函数嵌套,名称空间与作用域(未补充完)

    一,函数对象

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

      1.可以被引用

      2.可以当做参数传递

    len(x)
    def foo(m):
        # print(m)
        m()
    foo(func)

      3.返回值可以是函数

    def foo(x): #x=func
        return x #return func
    res=foo(func)
    print(res)
    res()

      4.可以当作容器类型的元素

    l=[x,]
    l=[func,]
    # print(l)
    l[0]()

    利用该特性,优雅的取代多分支的if语句:

    def login():
        print("登陆")
    def register():
        print("注册")
    def shopping():
        print("购物")
    
    res =  input("请选择功能名称:")
    # if res == "login":
    #     login()
    # elif res == "register":
    #     register()
    # elif res == "shopping":
    #     shopping()
    # else:
    #     print("输入有误")
    
    
    funcdic = {"login":login,"register":register,"shopping":shopping}
    
    if res in funcdic:
        funcdic[res]()
    else:
        print("输入有误!")
  • 相关阅读:
    第二冲刺阶段个人博客
    单元测试
    软件工程个人总结
    梦断代码阅读笔记03
    梦断编码阅读笔记02
    梦断代码阅读笔记01
    padding margin
    MVC模式在Java Web应用程序中的实例分析
    小问题
    MVC理解
  • 原文地址:https://www.cnblogs.com/kp1995/p/10035152.html
Copyright © 2011-2022 走看看