python闭包 装饰器 作用域

今天学习了闭包 装饰器 作用域
LEGB 局部,函数作用域 全局 内置
闭包条件 (在函数中提出的这个概念)
1 有 内层函数
2 内层函数引用了外层函数的变量
3 返回了外层函数
闭包格式

def hello():
  			 word = 5
   			 def wrap(*args, **kwargs):
       			 print(word)
           	  return wrap
闭包变量不会回收 所以不同参数打印的值是不会影响的 
装饰器 
def decorate(*args,**kwargs):------------》装饰器接收参数可以不用写这一层
				def hello(func):---------》接收函数的参数
			  			 word = 5
			   			 def wrap(*args, **kwargs):---------------》返回可变参数万能
			   			 	  func(*aggs, **kwargs)	
			       			  print(word)
			       		  return wrap
			       return hello
	       @hello(()这个如果没有接收参数就不写这个括号)
	       func ():
	            print ('hello')
	可以套两层
	@hello
	@hello2
	hello():
	  pass
谁和函数隔的近先执行谁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值