We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c239b1e commit f11ad6fCopy full SHA for f11ad6f
test7.py
@@ -0,0 +1,27 @@
1
+# 练习高级特性的迭代器
2
+from collections import Iterable, Iterator
3
+
4
+l = [1, 3, 5]
5
+t = (1, 6, 5)
6
+s = 'dsjk'
7
+# 判断是否可迭代
8
+print(isinstance(l, Iterable))
9
+print(isinstance(t, Iterable))
10
+print(isinstance(s, Iterable))
11
+# 判断是否是迭代器,可以看出,这三个都不是迭代器
12
+print(isinstance(l, Iterator))
13
+print(isinstance(t, Iterator))
14
+print(isinstance(s, Iterator))
15
+# 判断生成器是否是迭代器,是的
16
+print(isinstance((x for x in range(3)), Iterator))
17
+# 同时也是可迭代的
18
+print(isinstance((x for x in range(3)), Iterable))
19
20
21
+# 我们可以将list,tuple,和string转成迭代器,这时就是迭代器了
22
+print(isinstance(iter(l), Iterator))
23
+print(isinstance(iter(t), Iterator))
24
+print(isinstance(iter(s), Iterator))
25
26
27
+# 其实for循环就是通过next来不断获取下一个元素的,直到抛出异常StopIteration
0 commit comments