闭包概念:

Closure:内部函数中对enclosing作用域的变量进行引用

enclosing作用域:函数内部与内嵌函之间

范例1:

#coding:utf-8def set_passline(passline):def cmp(val):if val>= passline:print "passline is %d"%passlineprint "%d is pass"%valelse:print "passline is %d"%passlineprint "%d is failed"%valreturn cmpf_100=set_passline(60)
f_150=set_passline(90)f_100(89)
f_150(89)

输出:

passline is 60
89 is pass
passline is 90
89 is failed

范例2:

#coding:utf-8
def my_sum(*arg):return sum(arg)
def my_average(*arg):return sum(arg)/len(arg)def dec(func):def in_dec(*arg):print ('in_dec arg=',arg)if len(arg)==0:return 0for val in arg:if not isinstance(val,int):return 0return func(*arg)return in_decmy_sum=dec(my_sum)
my_average=dec(my_average)
print my_sum(1,2,3,4,5)
print my_sum(1,2,3,4,5,'6')
print my_average(1,2,3,4,5)
print my_average()

输出:

('in_dec arg=', (1, 2, 3, 4, 5))
15
('in_dec arg=', (1, 2, 3, 4, 5, '6'))
0
('in_dec arg=', (1, 2, 3, 4, 5))
3
('in_dec arg=', ())
0

闭包作用

1:封装

2:代码复用

python --闭包学习相关推荐

  1. 深入理解Python闭包概念

    闭包并不只是一个Python中的概念,在函数式编程语言中应用较为广泛.理解python中的闭包一方面是能够正确的使用闭包,另一方面可以好好体会和思考闭包的设计思想. 1.概念介绍 首先看一下维基上对闭 ...

  2. python自学流程-Python系统学习流程图,教你一步步学习python

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  3. Python闭包与装饰器

    Python闭包与装饰器 一.闭包       函数是一个对象,所以可以对象的形式作为某个函数的结果返回.函数执行完后内部变量将会被回收.在闭包中,由于内部函数存在对外部函数的变量的引用,所以即使外部 ...

  4. 用python设计一个管理系统思路_Python大佬一个月打造的Python系统学习流程图!

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  5. python逻辑运算的一些流程图_Python大牛历时一个月打造的Python系统学习流程图,超详细!...

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  6. [转载] 根据Python常见面试题来谈谈 Python 闭包

    参考链接: Python闭包 这里根据我们平常见到的一些Python常见面试题来跟大家说一下关于Python闭包的相关问题! 题目: 1.什么是闭包?闭包的定义? 2.手写一个简单的闭包 3.变量作用 ...

  7. 熬夜整理了2021年Python最新学习资料,分享给学弟学妹们【大学生必备】

    Python最新学习资料和视频 一.Python软件 安装教程 视频教程 二.学习规划 阶段一:Python基础 阶段二:Python核心编程 阶段三:web前端开发 阶段四:数据库 阶段五:后端开发 ...

  8. python+人工智能学习线路

    小白学Python最苦恼的是路线怎么走,怎样才不会走弯路,这里分享一份Python+人工智能的学习方案及目标.感兴趣的可以看看. 第一阶段 Python核心编程 学习内容技术要点 计算机组成原理认识操 ...

  9. Python课程学习笔记 上

    笔记目录 学前准备 Python解释器安装包 下载 安装 Pycharm 下载 常用的快捷键 Python程序执行机制 语法基础 注释和中文乱码 变量 数据类型 运算符 数值运算符 复合运算符 比较运 ...

最新文章

  1. 小菜学设计模式——高内聚、低耦合
  2. hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别
  3. CMake编译Widget UI Qt程序
  4. python第三方工具箱_我的Python笔记——标准库、第三方工具包
  5. 裴蜀定理(note)
  6. 曹大带我学 Go(12)—— 面向火焰图编程
  7. 新网卡不能绑定“旧”IP故障的解决
  8. 垃圾邮件过滤——学习笔记
  9. 编程工作枯燥、代码质量不高?华为云 MVP 来支招!
  10. Yii 2.0 权威指南 (5) 应用结构
  11. 怎么修改服务器玩家等级级上限,GOM引擎等级限制了极限怎么办?传奇服务端突破等级限制的方法...
  12. vcf文件怎么转成excel_批量vcf转成excel格式的方法
  13. c# 容联云_迅雷云加速开放平台c#demo
  14. BTC API命令 中文版
  15. 小乐乐与进制转换-c++(六进制转换函数)
  16. 从零开始搭建仿抖音短视频APP-后端开发粉丝业务模块(2)
  17. PMIX ERROR: ERROR in file gds_ds12_lock_pthread.c
  18. IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION中的文件过滤
  19. Python之服务巡检
  20. 健身之徒手健身:双人徒手健身,这才是男女搭配最好追求!

热门文章

  1. linux中shell如何实现毫秒级别的sleep
  2. struts2入门(搭建环境、配置、示例)
  3. java读取数据,2,2,1方式读取
  4. EJB3.0 定时服务:Timer Service
  5. 中国电信制定物联网策略:规模市场自主经营 长尾市场集成
  6. 通过Shell开发企业级专业服务启动脚本案例(MySQL)
  7. 阿里云CentOS7安装Oracle11GR2
  8. 解决TCP网络传输“粘包”问题
  9. JDBC常用连接写法(包括MySQL、Oracle、Sybase、SQLServer、DB2)
  10. 输入过欠压保护电路原理图