人工智能,也就是python语言,是一种高级代码,在程序员的眼里,python就像胶水一样,他可以适应于各种情况,可以以最简单的代码去解决复杂的问题,现阶段python的使用率非常高,知乎就是以python代码编写的网站,而python也可以编写爬取sprider等非常方便的工具,今天达内小编为大家带来,python迭代器,希望大家喜欢!

迭代器协议
对象必须提供一个__next__方法执行该方法要么返回迭代中的下一项,要么返回一个Stopiteration异常以终止迭代
迭代对象
实现了迭代协议(for循环机制就基于可迭代协议)
s_str = “hello world!”
# 使用__iter__()方法转变为可迭代对象
s_str_iter = s_str.__iter__()
print(s_str_iter)
# 使用可迭代对象里的next方法取值 (一直取到报异常:StopIteration)
print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# print(s_str_iter.__next__())
# for 循环本质 1:先执行__iter__()转化为可迭代对象(遵循迭代协议) 2:然后依次执行__next__()方法 3:最后捕捉StopIteration异常
dic = {“name”: “张三”, “age”: 18, “sex”: “男”}
dic_iter = dic.__iter__()
print(dic_iter.__next__())
print(dic_iter.__next__())
# 模拟for循环输出
str = “1232456”
str_iter = str.__iter__()
while True:
try:
# print(str_iter.__next__())
# 系统next()放和可迭代对象内部的__next__方法是一样的
print(next(str_iter))
except Exception as e:
print(e)
break
达内告诉我们,python的代码都很短,更多精彩内容尽在达内