9.23闭包函数/装饰器/迭代器/生成器

闭包函数

闭包函数把闭包函数内部的变量和闭包函数内部的函数两者包裹在一起,然后以返回值的形式返回出来.
闭包函数至少也得符合函数嵌套
例:f1就叫闭包函数

def f1(x):
	def f2():
		print(x)
	return f2

装饰器

给函数增加功能的函数
1.装饰器本身是函数,只不过它用来装饰被装饰的函数
2.装饰器装饰函数,不改变被装饰函数的源代码
3.装饰器装饰函数,不改变被装饰函数的调用方式

装饰器语法糖

就是让代码更简洁
@login_deco就代替了index = login_deco(index)

装饰器模版

def deco(func):
	def wwrapper(*args,**kwargs):
		#要加什么功能 加什么
		res = func(*args,**kwargs)
		return res
	return wrapper

迭代器

可迭代对象: 含有__iter__方法的就叫做可迭代对象
迭代器:含有__iter__和__next__方法的就叫做迭代器

生成器

含有yield关键字的函数就叫做生成器

原文地址:https://www.cnblogs.com/793564949liu/p/11574250.html