zoukankan      html  css  js  c++  java
  • (8)闭包函数(函数的传参方式)

    什么是闭包函数

    函数嵌套+函数对象+名称空间与作用域

    闭:定义在函数内的函数

    包:该内部函数需要访问一个名字,该名字属于外层函数作用域的(强调:不是全局作用域)


    为何要用闭包函数
    为了实现装饰器

    如何用闭包函数

    def outter():

     xxx=111  #这个就是外层函数作用域
     def inner():
      print(xxx)  #这里需要访问外层函数作用域的值
      return inner

    f=outter()

    def foo():
     xxx=2222
     f()

    foo()

    PS:什么是闭包函数,就是outter下层(包起来的函数inner)函数inner,整个嵌套的方式就是闭包函数

    为函数体传参的两种解决方案

    方案一: 直接以参数的形式传入

    def func(xxx):

      print(xxx)

    func(111)

    方案二:闭包函数的传参

    def outter(xxx):

        def func():

            print(xxx)

        return func

    func=outter(111)

    PS:这里将xxx以参数的形式传入,这样整个函数架构就非常灵活

  • 相关阅读:
    RTP 控制协议
    非关系型数据库
    关系型数据库
    处理海量数据
    处理大并发
    C++ 模板偏特化-来自STL的思考
    C++详解new/delete
    二分算法来相会
    计算机网络知识点总结
    C++字符串类型转换
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/9977417.html
Copyright © 2011-2022 走看看