博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python学习笔记011——闭包
阅读量:7040 次
发布时间:2019-06-28

本文共 427 字,大约阅读时间需要 1 分钟。

1 定义

定义:在计算机科学中,闭包是词法闭包的简称,是引用了自由变量的函数

简单地说:闭包就是能够读取其他函数内部变量的函数,闭包是将函数内部和函数外部连接起来的桥梁。——来源百度百科

2 描述

形成闭包的条件: 

1. 闭包必须要有内部函数

2. 必须在内部函数中引用了外层函数的变量,即自由变量

3. 外层函数必须讲内层函数返回

 

优点:

1.延长了局部变量的生命周期

2.加强了封装性

 

缺点:

1.加重内存负担

2.内部函数可以修改外部函数变量,容易产生误修改

 

def outer(x):    def inner(y):        return x ** y    return innerf = outer(2)print(f(3))      # 8

 

a = 1def fun(a,b):    return a + bdef fun1(a,b,c):    return a(b,c)print(fun1(fun,1,2))    # 3

 

转载地址:http://rfxal.baihongyu.com/

你可能感兴趣的文章
css3 贝塞尔曲线cubic-bezier(x1, y1, x2, y2)
查看>>
远程连接docker daemon,Docker Remote API
查看>>
C语言dll文件的说明以及生成、使用方法
查看>>
【Web API系列教程】1.3 — 实战:用ASP.NET Web API和Angular.js创建单页面应用程序(上)...
查看>>
java基础学习_面向对象(上)03_day08总结
查看>>
NG-ZORRO 7.3.1 发布,Ant Design 的 Angular 实现
查看>>
20180417PLSQL中sql语句格式化与注解问题
查看>>
Java 基础 之 while 循环
查看>>
顺丰今天上市了,王卫又成了民营快递业的首富
查看>>
前端和云端性能分析工具分析报告
查看>>
Jim Zemlin:加速开源创新,Linux 基金会超越 Linux
查看>>
.NET零基础入门05:委托与事件
查看>>
【阿里云MVP公益共创项目】服务数万爱心教师支教,推动中国渔业生态保护
查看>>
Linux命令复习和练习_03
查看>>
使用 github pages, 快速部署你的静态网页
查看>>
react 之 state 对象
查看>>
Java中的锁原理、锁优化、CAS、AQS
查看>>
“智能厨电+渠道精耕”,华帝迈出“关键一步”
查看>>
Scrapy爬虫(2)爬取新浪旅游图片
查看>>
Nginx反向代理以及负载均衡配置
查看>>