参考

  1. https://foofish.net/how-for-works-in-python.html

for循环可以迭代一个可迭代(iterable)的对象

原理

  1. 生成这个可迭代对象(实现了__iter__方法的就叫可迭代对象)的迭代器(xx.__iter__())。
  2. 用迭代器协议(实现了__next__方法)去不断访问对象,捕捉到StopIteration就停止迭代。

好处

for循环遵循迭代器协议去访问对象,这样统一了访问接口,更加通用(这也是协议的好处)。

最新文章

  1. CSS Sprites优缺点
  2. Java基础——基本类型和包装类、基本类型和字符串之间的转换
  3. spring 声明式事务管理
  4. ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转)
  5. html5中的clip
  6. 【转载】wireshark抓包
  7. tcpdump命令--实用篇
  8. lambda表达式和ef的语句转化
  9. Ssqlserver 关于Grouping sets
  10. jquery插件tab——小试牛刀
  11. Mac 下安装配置Mysql
  12. web富文本编辑器收集
  13. js 学习记录(一)
  14. vue系列之flex经典案例
  15. django 静态css js文件配置
  16. Linux内核分析第二周总结
  17. 关于while(cin>>c)语句的理解
  18. 用ruby调用执行shell命令
  19. XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX (Build 9313334)
  20. USACO 6.4 Wisconsin Squares

热门文章

  1. mysql获取字段信息
  2. java8快速实现分组、过滤、list转map
  3. CAN总线冲突裁决
  4. DVWA的安装及报错解决
  5. docker dial unix /var/run/docker.sock: connect: permission denied
  6. 从ICG cell 在 library 中的定义说起
  7. js实现左右自动滚动
  8. 【做题笔记】[NOIOJ,非NOIp原题]装箱问题
  9. Git的基本使用 -- 创建本地仓库
  10. 计算几何-RC-poj2187