python函数作用域,闭包,装饰器
第一:函数作用域:
L:local 函数内部作用域
E:enclosing 函数内部与内嵌函数之间(闭包)
G:global 全局作用域
B:build_in 内置作用域
L > E > G > B 优先级比较
第二:闭包函数:
定义:如果内部函数引用了外部作用域(不是全局作用域)的变量,那么此时内部函数被称为闭包。
1 def func1(): 2 a = 10 3 def func2(): 4 b = 20 5 return a + b #引用了外部作用域的变量 6 return func2 7 8 res = func1() #调用 9 res() #30
注意:闭包函数满足两点
1,函数内部定义 函数。
2,引用外部变量而非 全局变量。
第三:python装饰器:
装饰器本质是一个python 函数,它可以让其它函数在不需要代码做任何变动的情况下,增加额外的功能。
应用场景:1,插入日志,2,性能测试,3 事务处理,4,权限校验
1 import time 2 3 def decorator(func): 4 def wapper(*args,**kwargs): 5 start_time = time.clock() 6 func() 7 end_time = time.clock() 8 print(end_time - start_time) #计算时间 9 return wapper 10 11 @decorator #装饰器加入 12 def func(): 13 time.sleep(0.8) 14 func()
分类:
Python开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现