首页 > 其他分享 >for循环的工作原理

for循环的工作原理

时间:2023-06-19 17:12:55浏览次数:21  
标签:__ .__ 迭代 iterator next 工作 range 循环 原理

可迭代对象,有__iter__方法
迭代器(iterator)实现__next__方法和__iter__方法,每次按顺序返回一个值

直接使用for循环打印range(1,3)

for i in range(1,3):
    print('这是通过for循环打印出来的i值:'+str(i))

  

使用分解代码模拟for循环打印range(1,3)

x = range(1, 3)  # 用range函数创建一个整数列表,可迭代对象
iterator = x.__iter__()  # 对列表使用__iter__迭代方法,赋值给变量iterator

i = iterator.__next__()  # 对iterator使用__next__方法,赋值给变量i
print(i)  # 1

i = iterator.__next__()  # 不断调用迭代器的__next__方法,每次都会按顺序返回一个列表内的值
print(i)  # 2

i = iterator.__next__()  # StopIteration 迭代结束  在for循环中该异常会被Python自动处理,不会暴露出来

  

 

标签:__,.__,迭代,iterator,next,工作,range,循环,原理
From: https://www.cnblogs.com/sangern/p/17491590.html

相关文章

  • do...while循环、for循环、while循环反汇编
    do...while循环、for循环、while循环反汇编do...while循环C代码如下所示:VC6++Debug32位版本#include"stdafx.h"voidFunction(){ inti=0; intsum=0; do { sum+=i; i++; }while(i<100);} intmain(void){ Function();return0;}反汇编如......
  • 计算机组成原理知识点
    第一章电子计算机分为电子模拟计算机(应用范围较小)和电子数字计算机(还有数模混合),数字计算机的主要特点是按位运算,并且不连续地跳动计算。平常说的计算机都是电子数字计算机。电子数字计算机分为专用计算机和通用计算机。运算器+控制器等于一个cpu第一台计算机1946年美国宾......
  • Android AccessibilityService 事件分发原理
    在了解了无障碍服务基础使用之后,我们来探究一下AccessibilityService的事件接收方法回调的时机和它深层次的实现逻辑。AccessibilityService监听事件的调用逻辑AccessibilityService有很多用来接收外部调用事件变化的方法,这些方法封装在内部接口Callbacks中:publicinterface......
  • 2022 Android开发面对“铜三铁四”,如何稳住工作、顺利求职?
    前言大厂似乎变成了一座围城,里面的人想要逃离,外面的人前仆后继为了一份offer焦虑奔走。说回主题啊,腾讯裁员的消息基本年年都有,但唯独这一次迟迟不见官方出来辟谣……这是不是已经默认了,但也情有可原,毕竟腾讯这个大的集团,其中有一些尸位素餐和管理人员不作为的情况也在所难免。“......
  • "this"关键字在js中的工作原理
    在js中,关键字“”this“”用于引用当前执行代码的上下文对象。它的工作原理是根据函数的调用方式来确定其绑定的值。它的值会根据函数的调用方式而变化。下面解释几种常见的"this"绑定规则:1.默认绑定:“this”默认绑定到全局对象(在浏览器环境中是window对象,在Node.js中是global......
  • 正则表达式工作实践总结
    正则表达式是一种非常强大和灵活的工具,它可以提供基于模式匹配的文本检索和替换功能,广泛应用于文本处理、字符串操作、数据校验等领域。在 JavaScript 中,正则表达式是内置的一种数据类型,可以通过字面量 /pattern/ 或者构造函数 RegExp() 来创建。在我们的工作中,根据不同的业......
  • 2023年Flutter开发前景如何,能找到工作吗?
    引言Flutter自诞生之日起,从来都稳坐风口浪尖,关注与争议一直伴随其身。学习一门技术的时候大家最关心的就是发展前景怎么样,学习Flutter的朋友也不例外,那就让我们一起来看看2023年Flutter开发前景到底怎么样吧。Flutter开发前景从上图的数据可以看出,虽然Flutter开发岗位的招聘在减......
  • 消防设备监控系统设计原理及其意义
    安科瑞虞佳豪6月13日起,北京市怀柔区一个占地面积超过2000平方米的聚苯乙烯彩钢板建筑启动拆除更换工作,标志着这一影响辖区安全的突出火灾隐患正式销账。自火灾隐患大排查大整治以来,怀柔区消防救援支队按照零增量、消存量的原则,集中开展历史遗留突出隐患的销账工作,根据实际需要......
  • Three.js教程:动画渲染循环
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生动画渲染循环threejs可以借助HTML5的API请求动画帧window.requestAnimationFrame实现动画渲染。请求动画帧window.requestAnimationFrame//requestAnimationFrame实现周期性循环执行//requestAnimationF......
  • 外键要建立索引的原理和实验
    项目中,我们要求凡是有主子关系的表都要使用外键约束,来保证主子表之间关系的正确,不推荐由应用自己控制这种关系。但发现有时开发人员提交SQL语句时未必会注意外键列需要定义索引,或者不清楚为什么外键列需要建立索引,网上一些所谓的“宝典”也会将外键列建索引作为其中的一条,包括TOM大......