位置: IT常识 - 正文

python中for循环的底层实现(python中for循环的缩进规则)

编辑:rootadmin

推荐整理分享python中for循环的底层实现(python中for循环的缩进规则),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中for循环的用法,python中for循环的用法打印出星星,python中for循环的用法range,python中for循环的特点,python中for循环的用法,python中for循环的用法range,python中for循环的用法 数组,python中for循环的用法,内容如对您有帮助,希望把文章链接给更多的朋友!

在python中,存在2种循环方式:for循环和while循环。

while循环的实现很简单, 其本质就是一个条件语句,自定义条件,当条件满足的时候,不断执行while代码块。

但是for循环,究竟是怎么回事呢?说到for循环,那么就不能不讲到迭代了。

迭代

python中迭代对象分2种:迭代器对象(Iterator)、可迭代对象(Iterable)。

tips:如何判断一个对象是迭代器对象还是可迭代对象?

fromcollectionsimportIterable,Iterator

isinstance(object, class),第一个参数为对象,第二个参数为类名;返回值为True,即对象为:

相关推荐:《Python视频教程》

python中for循环的底层实现(python中for循环的缩进规则)

1.可迭代对象

很多python的数据类型都是可迭代对象:列表、字典、元组、字符串等。

a = [1, 2, 3]

isinstance(a, Iterable) # True

注意:可迭代对象,并不是迭代器对象

2.迭代器对象

迭代器对象依赖iter(args)方法来实现,参数args必须是一个可迭代对象。

a=[1,2,3]b=iter(a)isinstance(b,Iterator)#Trueisinstance(b,Iterable)#True

由此可以看出,迭代器对象,同时也是可迭代对象。

那么,这2个对象,到底和for循环的关系在哪里呢?

for循环

我们都知道,迭代器对象,实现了__next__()方法,可以不断调用该方法,返回迭代器对象的每个元素

for循环的对象,必须是可迭代对象。而在底层,所有的可迭代对象均内置了__iter__()方法,返回值为迭代器对象。

此时,我们便明了了,for循环本质上调用了可迭代对象的__iter__()方法,得到了该对象对应的迭代器对象,然后调用__next__()方法,得到对象中的每一个元素。直到StopIteration异常,代表迭代器中已无下一个元素,for循环自动处理该异常,跳出循环。

相关推荐:

本文链接地址:https://www.jiuchutong.com/zhishi/304813.html 转载请保留说明!

上一篇:phpcms上传图片提示服务器安全认证错误的原因及解决方法(php实现图片上传)

下一篇:phpcms上传服务器后,后台打不开怎么办(php上传视频到服务器)

  • 财产行为税包括资源税吗
  • 含税价怎么算不含税价
  • 纳税人资格类型有哪些
  • 报销金额限制多少
  • 小规模公司用什么会计准则
  • 分公司报增值税吗
  • 税控盘必须一直插着吗
  • 非独生子女赡养父母扣税
  • 固定资产采购计入什么科目
  • 支付税收罚款怎么算企业所得税
  • 买的厨房用品算什么费用
  • 采购合同可以包含安装吗
  • 企业承租经营的承租人取得的所得
  • 不计提税费可以吗
  • 滞留票是什么意思
  • 社保基数调整补收是什么意思
  • 把水费开成物业费发票有什么风险吗?
  • 特许权使用费个税计算公式
  • 汇算清缴时费用占收入多少
  • 存根联和记账联丢失有影响吗
  • 应收账款的贷方反映
  • 生产车间广告牌设计图片
  • 商业企业做设备维修收入会计分录
  • 清算期间未申报债权
  • 股东以无形资产投资,撤资时怎么算
  • 有关于秋天的诗句
  • 使用时间
  • php array_splice
  • php数组原理
  • php基础教程
  • phpdie
  • 销售自行开发的房地产
  • 草丛里的野花像
  • 营改增后预交增值税
  • 哪些免征增值税
  • 自然人税收管理系统扣缴客户端怎么操作
  • opencv识别车牌
  • unet模型代码matlab
  • 雪花算法时钟回拨
  • 预缴2%
  • 出售一台设备,收到价款20万
  • 普通发票两联都盖章吗
  • python循环语句的语法
  • python 添加列表
  • 认证已过期请重新登录
  • 电子承兑汇票支付信用查询
  • 应付职工薪酬的含义
  • 收到政府的资本公积可以投入子公司吗
  • 固定资产出售增值税减按2%征收,附表一,填写
  • 办公楼开始建造前专门借款的利息费用
  • 可供分配的利润分配顺序
  • 单位统一订员工餐
  • 银企对账如何操作
  • 记一次成功的喜悦作文
  • sql两个数据怎么合并到一起
  • win8.1系统安装教程
  • 详述目标成本法的内容和步骤
  • 如何架设ftp
  • u启动开机启动快捷键
  • macos邮件
  • linux的grep命令详解
  • msp sncp
  • win7系统电脑打开的软件闪退怎么办
  • 新装win8系统卡顿严重,虚拟内存为0
  • 统计动态分析
  • vs2013怎么配置环境
  • windows 10一
  • 使用文字输入
  • docker编写dockerfile
  • python自定义模块并调用
  • JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
  • 如何用python写自动化脚本
  • javascript面向对象编程
  • 贵州省增值税普通发票图片
  • 车船税保险公司代收代缴后,单位还申报不?
  • 契税和房产税是一回事吗
  • 上海各区财政收入
  • 杭州注册公司需要钱吗
  • 现行会计法律法规汇编2022版
  • 对于批发企业和零售连锁企业的质量验收,错误的是( )
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设