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')

      

          

      

  • 相关阅读:
    C open fopen read fread
    图像混合模式算法
    高级API和低级API
    strcpy_s与strcpy
    IsPowerOfTwo
    透明度算法
    POJ 2240(bellman_ford)
    POJ 1797(dijkstra)
    【转载】POJ 图论题目列表
    POJ 1502(Floyd)
  • 原文地址:https://www.cnblogs.com/yang220/p/yang_3.html
Copyright © 2011-2022 走看看