python~函数详解2
1 生成器函数
定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数
须知 yield和return一样,都可以返回数据,但是不会彻底中断函数,分段进行函数处理
继续执行 函数(迭代器)
__next__()
__send__(参数)//和next具有同一个功能,还添加了给上一个值赋值功能
def func()
print(a)
a=yield 1 //yield特殊定义
print (b)
b=yield 2说
gen=funct//不会执行函数
a=gen.__next___()//继续执行函数
a=gen.__send__("wdadaw")
注意
1 书写生成器函数最后必须以yield结尾,否则会报异常
2 最后一个yield不能传值,yield会打印输出
3 可以通过for,list循环访问对象,则证明for和list循环自带__next__
2 推导式
一句话生成列表
list=["python"+star(i) for i in range(10)]
1 构成方式 结果 for循环 判断
2 多重for循环并排写即可
一句话生成字典
dick={a[key]:value for i in range(len(list)) }
语法构成 {key:value 循环 条件判断}
3 生成器表达式
1 我们可以观察到,与上面推导式只是括号不同
2 生成器表达式有惰性机制(如果有一个值被拿走,就没了,除非重新调用生成器函数)
c=(a for i in a)
c.__next__()
原文地址:https://www.cnblogs.com/danhuangpai/p/10888959.html