1.装饰器
#装饰器 def wrapper(func): def inner(*args,**kwargs): return func(*args,**kwargs) return inner @wrapper def func(): passView Code
#装饰器 from functools import wraps def wrapper(func): @wraps(func) def inner(*args,**kwargs): print("在被装饰函数执行前做的事情") ret = func(*args,**kwargs) print("在被装饰函数执行后需要做的事情") return ret return inner @wrapper def holiday(day): print("放假%s天"%day) return "好开心" res = holiday(5) print(res) print(holiday.__name__)
2.生成器
def gener(): print(123) conten = yield 1 print('$$$',conten) print(456) yield 2 g = gener() ret = g.__next__() print('***',ret) ret = g.send('hello') print('&&&',ret) #执行上面的代码返回的结果 # 123 # *** 1 # $$$ hello # 456 # &&& 2 #使用send的注意事项 #第一次使用的生成器的时候,用next获取下一个值 #最后一个yield不接收外部的值View Code