迭代器
可迭代对象
什么是可迭代对象,就是在每次需要一个新值是,需要基于上一个值的答案,这就是可迭代对象。
在python中,只要能点出来__iter__()的都是可迭代对象,所以由上可知,可迭代对象有:"str, list, dict, set, tuple, file。
迭代器对象
什么是迭代器对象,就是在可迭代对象的基础上能点出来__next__()以及能直接点出来的就是可迭代对象。总结以上话,就只能直接或者间接用__next__()的就是迭代器对象。
迭代器的具体用法:迭代器的取值提供了不依赖于索引取值的方法。例如
l = ['bxf', 'zt', 'cx'] list = iter(l) print(list.__next__()) print(list.__next__()) print(list.__next__())
而在字典中,用迭代器取出来的是key值。
for循环基本原理
for循环的基本原理就是参照了迭代器取值的原理,所以在for循环in后面的必须是一个可迭代对象。他会跟迭代器取值一样,依次把值给提取出来。
我们都知道,在for循环能实现的,在while循环都可以实现,那么在for循环中循环一个列表,我们也没有加入一个限制值,为什么在while循环中会报错,在for循环中不会报错呢?
在python中,for循环底层加入了一个异常捕捉功能,他会将for循环中的异常捕捉并且提取出来,从而不会报错,在while循环中,如果我们也加入一个异常捕捉,那么在while循环中我们及时不限制一个值,他也能跟for循环现实出一个一样的答案,同时不会报错
s = ['bxf', 'cx', 'zt'] c= 0 try : while True: c+=1 print(s[c]) except Exception as e: print(e)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现