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)