发电机
协同程序
pythonlambda
λ:
返回λλ
[2]:λx: x * * 2
[2]: & lt;功能的__main__灵活;lambda>在
[3]:(λx: x * * 2) (4) #
[3]: 16
[4]: foo=λx, y: (x + y) * * 2 #
[5]: foo (2, 1)
[5]: 9
[6]: def foo (x, y): #
…:返回(x + y) * * 2
…:foo (2, 1)
…:
[6]: 9
[7]: lst=[a、2、1]
[8]: lst.sort(关键=str) # str
[9]: lst
[9]: [1, 2, ' ']
[10]:λ:0 # 0
[10]: & lt;功能的__main__灵活;lambda>在
[11]:(λx, y=3: x + y) (5)
[11]: 8
[12]:(λx, y=3: x + y) (5、6)
[12]: 11
[13]:(λx * 30: y=x + y) (5)
[13]: 35
[14]:(λx * 30: y=x + y) (5, y=10)
[14]: 15
[15]:(λ* args: (x x args))(*范围(5))#
[15]: & lt;发电机对象& lt; lambda>灵活;locals>灵活;genexpr>在0 x7f892ccaca40>
[16]:(λ* args: [x x args])(*范围(5))#
[16]: [0, 1, 2, 3, 4)
[18]:(λ* args: {x + 2 x在args})(*范围(5))
[18]: {2、3、4、5、6}
[20]: [x x(λ* args:地图(λx: x + 1, args))(*范围(5)))#
[20]: [1、2、3、4、5)
[22]: [x x(λ* args:地图(λx: (x + 1, args), args))(*范围(5)))
[22]:
[(1 (0, 1, 2, 3, 4)),
(2) (0, 1, 2, 3, 4)),
(3) (0, 1, 2, 3, 4)),
(4, (0, 1, 2, 3, 4)),
(5, (0, 1, 2, 3, 4)))
发电机
产量
next ()
yieldyield
收益率returnreturn
returnStopIteration
产量;
下(发电机)yieldnext ()
next()下(g,“结束”)
yieldnext()抛出StopIteration
[23]: def . n:行情)():
…:因为我在范围(5):
…:屈服我#
…:
[24]:类型(inc)
[24]:函数
[25]:类型(inc ())
[25]:发电机
[26]: x=公司()
[27]:类型(x)
[27]:发电机
[28]:下一个(x)
[28]: 0
[29]:在x n:
…:打印(n)
…1:
3
4[30]:在x n:
…:打印(n) #
…:
…:
[39]: y=(我因为我在范围(2))
[40]:类型(y)
[40]:发电机
[41]:下一个(y)
[41]: 0
[42]:下一个(y)
[42]: 1
[43]:下一个(y)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
抛出StopIteration回溯(最近调用最后)
& lt; ipython -输入- 43 - 81 - b9d2f0f16a>在& lt; module> ()
——比;1下一个(y)
抛出StopIteration:
[44]: def gen ():
…:打印(line1)
…产量:1
…:打印(么)
…:收益率2
…:打印(line3)
…:返回3
…:
[45]:下一个(gen ())
line1
[45]: 1
[46]:下一个(gen ())
line1
[46]: 1
[47]: g=gen ()
[48]:下一个(g)
line1
[48]: 1
[49]:下一个(g)
line2
[49]: 2
[50]:下一个(g)
line3
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
抛出StopIteration回溯(最近调用最后)
& lt; ipython-input-50-e734f8aca5ac>在& lt; module> ()
——比;1下(g)
抛出StopIteration: 3
[51]: g=gen ()
[52]:下一个(g)
line1
[52]: 1
[53]:下一个(g)
line2
[53]: 2
[54]: #
line3
[54]:“结束”
[55]:下一个(g,“结束”)
[55]:“结束”
<强> 强> <强> 强> <强> 强> <强> 强> <强> 强>
# # # # # # # # # # # # # #
<强> 强> <强> 强> <强> 强> <强> 强> <强> 强>
<强> 强> <强> 强> <强> 强> <强> 强> <强> 强>
<强> 强> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强>
协同程序
python3 asyncio python3.5asyncawait
2 abnext Ayieldnext (A) (B) Byieldnext (A) (B)
产生的python3.3