一闭三器
-
闭包
-
装饰器
-
迭代器
-
生成器
闭包
保证数据安全
闭包 结构
内层函数对外层函数的局部变量的使用,内层函数被称为闭包函数
闭指的是:该函数的内部函数
包指的是:内部函数在外部被引用
构成条件
1、函数嵌套
2、外部函数返回内部函数名
3、内部函数使用外部函数的变量
def external(): var = "我是闭包" # 函数嵌套 def inside(): # 内部函数使用外部函数变量 print(var) # 外部函数返回内部函数名 return inside res = external() # external()的返回值为inside,所以res() == inside() res()
def external(): name = "外层函数" def inside(): print("我是内部函数") return name return inside res = external() r1 = res() print(r1)
装饰器
装饰器的本质是闭包
装饰器是 Python 的一个重要部分。简单地说:他们是不改变函数功能的基础上,给函数增加一些功能。他们有助于让我们的代码更简短,也更有范儿。
1、函数可以作为参数进行传递
def demo(): print("我是demo函数") def func(insert): insert() func(demo)
def demo(): return 10 def func(demo): print(demo + 15) func(demo())
# 输出结果为25
2、装饰器实例
# 写好闭包结构 外部函数提供一个自由参数 def external(func): def inside(): print("开启外挂") func() print("关闭外挂") print("-" * 25) return inside # func()代表我们需要装饰的函数,在需要装饰的函数前@装饰器的外部函数名 @external def play_lol(): print("德玛西亚草丛三兄弟已就位") @external def play_wow(): print("兽人永不为奴") play_lol() play_wow()
标签:函数,Python,inside,----,三器,external,func,print,def From: https://www.cnblogs.com/cenb/p/17089887.html