Python函数闭包
时间:2019-09-25
本文章向大家介绍Python函数闭包,主要包括Python函数闭包使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
定义:如果在一个内部函数里,对外部作用域(单不是在全局作用域)的变量进行引用。
1 def outer(): 2 x=10 3 def inner():#条件一:内部函数 4 print(x)#条件二:对外部环境变量的一个引用 5 return inner #结论:内部函数就是一个闭包 6 7 #outer()() 8 #f=outer() 9 #f() 10 #inner()#局部变量,全局无法调用 11 12 f=outer() 13 f() 14
关于闭包:闭包=内部函数块 + 定义函数时的环境
下面的例子没有定义函数的环境,所以不是闭包
1 def outer1(): 2 x=10 3 def inner(): 4 c=100 5 print(c) 6 return inner 7 f=outer1() 8 f()
闭包作用:在不修改原有的功能基础上增加功能
1 import time 2 def foo(): 3 print('foo...') 4 def bar(): 5 print('bar...........') 6 7 8 9 def show_time(f): 10 def inner(): 11 start = time.time() 12 f() 13 end = time.time() 14 print('spend %s'%(end-start)) 15 return inner 16 17 18 foo=show_time(foo) 19 foo() 20 bar=show_time(bar) 21 bar()
原函数只实现了打印,但是我后面需要增加打印耗费时间,因此放在inner函数下面
原文地址:https://www.cnblogs.com/softtester/p/11583276.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- kubernetes(十三) k8s 业务上线流程(手动版)
- java+appium+安卓模拟器实现app自动化Demo
- webdriver使用已打开过的chrome
- Shortcodes
- Unexpected EOF 远程主机强迫关闭了一个现有的连接 如何处理
- npm 使用问题
- 接口自动化测试框架-AIM
- hexo 图片显示问题及使用typora设置图片路径
- 接口自动化项目实践
- 结对测试算法性能优化(代码层面)
- 结对测试算法性能优化(用例设计层面)
- 使用travisCI自动部署hexo博客并使用国内外不同dns
- 寻找cookie之旅
- send_keys报错element not interactable
- 博客园上传markdown文件