Python基础阶段:生成器函数

  1 # l = [i for i in range(1, 10000000) if i % 2 == 0]
  2 # l = (i for i in range(1, 10000000) if i % 2 == 0)
  3 #
  4 # print(next(l))
  5 # print(next(l))
  6 # print(l.__next__())
  7 #
  8 # for i in l:
  9 #     print(i)
 10 
 11 
 12 
 13 
 14 # 生成器的创建方式2
 15 # yied, 可以去阻断当前的函数执行, 然后, 当使用next()函数, 或者, __next__(), 都会让函数继续执行, 然后, 当执行到下一个 yield语句的时候, 又会被暂停
 16 # def test():
 17 #     print("xxx")
 18 #     yield 1
 19 #     print("a")
 20 #
 21 #     yield 2
 22 #     print("b")
 23 #
 24 #     yield 3
 25 #     print("c")
 26 #
 27 #     yield 4
 28 #     print("d")
 29 #
 30 #     yield 5
 31 #     print("e")
 32 
 33 #
 34 # def test():
 35 #     for i in range(1, 9):
 36 #         yield i
 37 #
 38 # g = test()
 39 # print(g)
 40 #
 41 # print(next(g))
 42 # print(next(g))
 43 # print(next(g))
 44 # print(next(g))
 45 # print(next(g))
 46 
 47 
 48 # def test():
 49 #     # print("xxx")
 50 #     res1 = yield 1 # "ooo"
 51 #     print(res1)
 52 #
 53 #     res2 = yield 2
 54 #     print(res2)
 55 #
 56 # g = test()
 57 #
 58 # # print(g.__next__())
 59 # # print(g.__next__())
 60 # # print(g.send("ooo"))
 61 # print(g.send(None))
 62 # print(g.send(666))
 63 
 64 
 65 #
 66 # def test():
 67 #     yield 1
 68 #     print("a")
 69 #
 70 #     yield 2
 71 #     print("b")
 72 #
 73 #     yield 3
 74 #     print("c")
 75 #
 76 #     return 10
 77 #
 78 #
 79 #
 80 # g = test()
 81 #
 82 # print(g.__next__())
 83 # print(g.__next__())
 84 #
 85 # g.close()
 86 #
 87 # print(g.__next__())
 88 # # print(g.__next__())
 89 
 90 
 91 
 92 def test():
 93     yield 1
 94     print("a")
 95 
 96     # return 10
 97 
 98     yield 2
 99     print("b")
100 
101     yield 3
102     print("c")
103 
104 
105 
106 
107 # g = test()
108 #
109 # print(g.__next__())
110 # print(g.__next__())
111 # print(g.__next__())
112 # print(g.__next__())
113 
114 g = test()
115 for i in g:
116     print(i)
117 
118 print("-"*30)
119 g = test()
120 for i in g:
121     print(i)

 

posted @ 2018-08-09 10:01  goodyoung  阅读(170)  评论(0编辑  收藏  举报