zoukankan      html  css  js  c++  java
  • 关于函数对象的理解

    一:函数对象的简单简单介绍:

      在面向对象编程语言中,有这门一句话:一切皆对象,python也是一门面向对象的语言,在python中,函数对象就是:把函数的内存地址当作一种变量值去使用.

      具体体现在如下几个方面:

        1.函数可以被引用(在函数被引用时,不应该在函数名后加括号),简单示例如下:

         def func1():

           print('from func')  

         func2=func1

         func2()

         运行结果为:from func

        2.函数可以作为函数的参数传给另外的函数,简单示例如下:

         def func1():

           print('from func')  

         def bar(fax)

           fax()

         bar(func1)

        3.函数可以作为函数的返回值,简单示例如下:

         def func2():

           print('hello')

         def bar()

           return func2

         f=func2()

         f()

        4.可以当作容器类型的元素,简单示例如下:

         def func3():

           print('from func3')

         l=[func3,]

         l[0]()

    二.关于函数对象的简单示例:

    编写一个购物车程序,具有登录,注册,购物,退出等功能

    def login():

      print('login successful')

    def register():

      print('successful')

    def shopping():

      print('shopping successful')

    def outer():

      exit()

    dic={

      '1':login

      '2':register

      '3':shopping

      '0':exit

    }

    print("""

      1.登录

      2.注册

      3.购物

      4.退出

    """)

    while True:

      choice=input('请输入你的选择:')

      if choice in dic:

        dic[choice]()

      else:

        print('error')

      

          

      

  • 相关阅读:
    边界值分析
    等价类划分
    手工检测SQL注入(安全性测试)
    Web安全性测试
    Jmeter使用流程及简单分析监控
    使用可视化工具redisclient连接redis
    Java ThreadLocal的使用
    jvm中的新生代Eden和survivor区
    策略模式和工厂模式的区别
    java将一数组乱序排列
  • 原文地址:https://www.cnblogs.com/yang220/p/yang_3.html
Copyright © 2011-2022 走看看