python--闭包,装饰器
2017-06-15 19:11
295 查看
闭包函数:函数内部定义函数,称为内部函数。该内部函数包含对外部作用域,而不是对全局作用域名字的引用,那么该内部函数称为闭包函数。闭包函数的特点: 自带作用域 延迟计算函数的作用域关系在函数定义阶段就已经固定,与调用位置无关。无论函数在何处调用,都需要回到定义阶段去找对应的作用域关系。
定义闭包函数的基本形式 def 外部函数名(): 内部函数需要的变量 def 内部函数(): 引用外部变量 return 内部函数f=外部函数(func)print(f.__closure__) 返回一个元组print(f.__closure__[0].cell_contents) 看元组包含的对象
====================================================================================================================
一:开放封闭原则,对扩展是开放的,对修改是封闭的 二:装饰器,装饰器本质可以任意可调用对象,被装饰的对象也可以是任意 可调用对象, 装饰器的功能是: 在不修改被装饰对象源代码以及调用方式的前提下为期添加新功能 原则: 1.不修改源代码 2.不修改调用方法 目标:添加新功能
定义装饰器def 外部函数(func):def 内部函数(*args,**kwargs):passreturn 内部函数
装饰器语法 @
1 写在被装饰对象的正上方单独一行2 可以叠加多个。 定义阶段外部函数的执行顺序是自下而上 调用阶段内部函数的执行顺序是自上而下定义装饰器 def 外部函数(func): def 内部函数(*args,**kwargs): pass return 内部函数
相关文章推荐
- 深入理解python中的闭包和装饰器
- python 的内置函数,闭包,以及装饰器
- 【Python笔记】Python的几个高级语法概念浅析:lambda表达式 && 闭包 && 装饰器
- 深入理解python装饰器和闭包
- python闭包和装饰器
- python 嵌套函数、闭包装饰器、装饰器例子
- Python闭包和装饰器
- Python 进阶_闭包 & 装饰器
- Python Enclosing作用域、闭包、装饰器
- python学习笔记——闭包与装饰器
- Python函数的作用域、闭包、装饰器
- Python闭包和装饰器
- python闭包与装饰器
- Python之命名空间、闭包、装饰器
- Python闭包、装饰器
- python——装饰器例子一个
- 理解Python中的装饰器
- 通过Python领悟闭包的奥秘 - [Python]
- 转:Python装饰器与面向切面编程
- python--装饰器