闭包函数
闭(封闭/关闭)包(包子/把馅(闭包函数内部的变量)和皮(闭包函数内部的函数)包起来)函数返回闭包函数内部的函数
闭包函数:闭包函数把 闭包函数内部的变量 + 闭包函数内部的函数 这两者包裹在一起 然后通过返回值的形式返回出来
闭包函数至少也得符合函数嵌套
1.为函数传参的方式一.使用参数的形式
2.包给函数
装饰器
装饰(新增加了一个额外的功能) 器(工具)——函数
装饰器的本质就是一个函数 给函数增加功能的函数
装饰器:给函数 增加功能的 函数,增加功能时需要注意以下两点:
1.不改变原函数的源代码
2.不改变原函数的调用方式
1.装饰器本身就是函数,只不过它用来装饰,被装饰的函数
2.装饰器装饰函数 不改变被装饰函数源代码
3.装饰器装饰函数 不改变被装饰函数的调用方式
二层装饰器
1.用来装饰函数的,它本质是函数
2.不改变函数源代码
3.不改变函数调用方式
装饰器模板,如果装饰器真的不懂,记住模板
def deco(func):
def wrapper(*args,**kwargs):
#要加什么功能就加上去
res = func(*args,**kwargs)
return res
return wrapper
迭代器
可迭代对象:含有__iter__方法的就叫做可迭代对象
迭代器:含有__iter__和__next__方法的就是迭代器
生成器:含有yield关键字的函数就叫做生成器