高阶函数:将函数作为返回值返回(也称为叫做闭包)

通过闭包可以创建一些只有当前函数能访问的变量,可以将一些私有的数据藏到的闭包中

形成闭包的要件

1.函数嵌套
2.将内部函数作为返回值返回
3.内部函数必须要使用到外部函数的变量

def fn():x = '99'def man(): # 函数内部再定义的函数print('一位出色的男人' , x)return man # 将内部函数 man作为返回值返回print(fn()) # 返回为:<function fn.<locals>.man at 0x00C8F3D0> 说明这是一个函数 fn()中的man
fn()()      # 调用 返回为:一位出色的男人 99
a = fn()    # 赋值再调用
a()         # 调用 返回为:一位出色的男人 99# a = fn()
# fn() ==> 调用返回 man  ,man 是函数
# 所以a是函数,是调用fn()后返回的函数
# 函数a/man,是在fn()内部定义,并不是全局函数
# 所以这个函数总是能访问到fn()函数内的变量

python闭包(一分钟读懂)相关推荐

  1. Python多重继承(一分钟读懂)

    class A(object):def test(self):print('AAA')class B(object):def test(self):print('B中的test')def test2( ...

  2. python高阶函数(三分钟读懂)

    python高阶函数(三分钟读懂) 函数式编程 Python中,函数是一等对象 一等对象:具有特点 ① 对象是在运行时创建的 ② 能赋值给变量或作为数据结构中的元素 ③ 能作为参数传递 ④ 能作为返回 ...

  3. Vue安装与IDE HBuilder安装(一分钟读懂)

    Vue安装与IDE安装(一分钟读懂) 官网下载IDE HBuilder 解压该文件后,打开 官网下载vue.js 创建demo文件夹,把vue.js放进这里面并且创建index.html文件 然后把这 ...

  4. 【转】一分钟读懂互联网广告竞价策略GFP+GSP+VCG

    参考这篇文章: http://ju.outofmemory.cn/entry/116780 一分钟读懂互联网广告竞价策略GFP+GSP+VCG 两个广告位,三家广告主竞价,广告平台究竟应该制定广告竞价 ...

  5. 三分钟读懂新一代人工智能——ChatGPT

    2022年以来,AI开始在很多贴近消费者的领域发挥越来越大的作用,之前我写过一篇文章<一分钟学会AI绘画和创作>,很多朋友纷纷尝鲜. 最近一个月以来,OpenAI公司推出的智能机器人Cha ...

  6. 【光剑藏书轩2021】5分钟读懂《贫穷的本质》:“穷人通常缺少信息来源”

    5分钟读懂<贫穷的本质> <贫穷的本质:我们为什么摆脱不了贫穷>是2013年中信出版社出版的图书,作者是阿比吉特·班纳吉 (Abhijit V.Banerjee)与埃斯特·迪弗 ...

  7. 一分钟读懂互联网广告竞价策略

    一分钟读懂互联网广告竞价策略GFP+GSP+VCG 两个广告位,三家广告主竞价,广告平台究竟应该制定广告竞价策略呢?这是本文即将分享的一个问题. 一.前序知识-传统竞价策略 英式拍卖(English ...

  8. centos 删除文件夹_手机文件夹是英文,占空间还不敢乱删?花一分钟读懂手机语言...

    不少人肯定发现,自己的手机里面有一些莫名其妙的文件夹,占据内存空间.且占据很大,想删除,但全部是由英文标注,不知道从何删起. 今天小兰就来帮助大家决绝这么问题,一分钟教你读懂这些手机语言,快速清理手机 ...

  9. 1分钟读懂 云支付(云收款)交易规则 云支付收费标准

    1分钟读懂 云支付(云收款)交易规则 当前位置:首页 > 官方动态 一.交易即时到账 你的客户通过云支付中任意一种付款方式(支付宝.微信支付.网银等)付款成功后均会时时到账于你的云支付,你可以在 ...

  10. 一分钟读懂低功耗蓝牙连接数据包

    一分钟读懂低功耗蓝牙(BLE)连接数据包 1.概述    BLE 连接过程中有三个重要的数据包:SCAN_REQ, SCAN_RSP 和 CONNECT_REQ.    SCAN_REQ: 扫描请求, ...

最新文章

  1. memset函数详细说明
  2. MySQL InnoDB锁
  3. Android重写菜单增加系统自带返回键
  4. 威纶和s7200通讯线_PLC通讯,西门子plc通讯知识汇总学习
  5. (Mybatis)复杂查询
  6. percona mysql.cnf_Percona MySQL5.6 半同步复制
  7. java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印
  8. BOOTSTRAP ---- 重要部分
  9. STM32F103:一.(3)IO方向
  10. python中什么是序列_在Python中,什么是字符串序列?(或者是油嘴滑舌的虫子?)...
  11. 解决logstash启动过慢的问题
  12. ionic3 教程(一)安装和配置
  13. 苹果Mac专业的3D建模软件SketchUp Pro
  14. 微信小程序获取access_token报错errcode: 40125,errmsg: invalid appsecret
  15. thinkphp5地址的获取和修改接口过程
  16. 破而后立,破除陈旧,认识自我,而后顶天立地!
  17. 对《骨骼运动变换的数学计算过程详解》一文的理解
  18. UVM学习笔记--sequence和sequencer
  19. 长发变短发,卷发变直发,坚持每天梳头
  20. c语言关于break的程序,c语言break的用法

热门文章

  1. 程序员修神之路--分布式高并发下Actor模型如此优秀
  2. weblogic中删除自动部署项目
  3. hibernate课程 初探单表映射1-2 ORM定义
  4. 作业5.2 5.3
  5. 结合webpack配置_呕心沥血编写的webpack多入口零基础配置 【建议收藏】
  6. Java中的包扫描(工具)
  7. 园子装修 | 打造自己的直男审美博客园(施工中,持续更新)
  8. android采用videoView播放视频(包装)
  9. CURL 错误码 中文翻译
  10. 新加入一个团队,我们应该怎么做?