![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
闭包.装饰器
Loco_Python.
这个作者很懒,什么都没留下…
展开
-
修改闭包内使用的外部变量
修改闭包内使用的外部变量的错误示例:定义一个外部函数def func_out(num1):# 定义一个内部函数def func_inner(num2): # 这里本意想要修改外部num1的值,实际上是在内部函数定义了一个局部变量num1 num1 = 10 # 内部函数使用了外部函数的变量(num1) result = num1 + num2 pri...原创 2019-08-25 21:28:22 · 1484 阅读 · 0 评论 -
闭包的使用
闭包学习目标能够知道闭包的构成条件能够知道定义闭包的语法格式1. 闭包的介绍我们前面已经学过了函数,我们知道当函数调用完,函数内定义的变量都销毁了,但是我们有时候需要保存函数内的这个变量,每次在这个变量的基础上完成一些列的操作,比如: 每次在这个变量的基础上和其它数字进行求和计算,那怎么办呢?我们就可以通过咱们今天学习的闭包来解决这个需求。闭包的定义:在函数嵌套的前提下,内部函...原创 2019-08-25 21:48:41 · 365 阅读 · 0 评论 -
装饰器
装饰器学习目标能够知道定义装饰器的语法格式装饰器的定义就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数。装饰器的功能特点:不修改已有函数的源代码不修改已有函数的调用方式给已有函数增加额外的功能装饰器的示例代码# 添加一个登录验证的功能def check(fn): def inner(): print("请先登录....") ...原创 2019-08-25 22:29:19 · 133 阅读 · 0 评论 -
通用装饰器和多个装饰器的使用
1. 装饰带有参数的函数# 添加输出日志的功能def logging(fn): def inner(num1, num2): print("--正在努力计算--") fn(num1, num2) return inner# 使用装饰器装饰函数@loggingdef sum_num(a, b): result = a + b ...原创 2019-08-28 18:25:55 · 326 阅读 · 0 评论 -
参数装饰器和类装饰器
带有参数的装饰器学习目标能够写出带有参数的装饰器1. 带有参数的装饰器介绍带有参数的装饰器就是使用装饰器装饰函数的时候可以传入指定参数,语法格式: @装饰器(参数,…)错误写法:def decorator(fn, flag): def inner(num1, num2): if flag == "+": print("--正在努力加法...原创 2019-08-28 18:32:35 · 230 阅读 · 0 评论