zoukankan      html  css  js  c++  java
  • python的闭包

    闭包: 将函数作为返回值返回的高价函数      注: 自己对闭包的理解 函数中的函数

    作用:通过闭包创建只有当前函数能访问的变量        

    闭包三要件:
      1、函数嵌套
      2、返回值为内部函数
      3、内部函数必须使用相对于内部函数的外部函数的变量

      效果图:

        代码:

    def fn():
        a = 10
        # 定义一个内部函数
        def inner():
            print('这是内部函数:',a)
    
        # 将内部函数 inner作为返回值返回 
        return inner
    
    # r是一个函数,是调用fn()后返回的函数
    # 这个函数实在fn()内部定义,并不是全局函数
    # 所以这个函数总是能访问到fn()函数内的变量
    r = fn()    
    # 调用返回的函数
    r()
    
    
    print('
    
    
    ')
    
    def make_averager():
        # 创建一个列表,用来保存数值
        nums = []
        # 创建一个函数,用来计算平均值
        def averager(n):
            # 将 n 添加到列表中
            nums.append(n)
            # 求平均值
            return sum(nums)/len(nums)
    
        return averager
    
    a = make_averager()
    
    print(a(2))
    print(a(5))
    print(a(8))
  • 相关阅读:
    EntityManager 实例化方法
    Java Jpa 规范
    Spring HandlerInterceptor
    Spring data jpa
    Spring Security @PreAuthorize 拦截无效
    Java ee el表达式
    脏读&幻读
    OR查询是否会使得索引失效?
    ThinkPHP中的parseDSN方法的坑记录一下
    js , map中的坑
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/11298754.html
Copyright © 2011-2022 走看看