位置: 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上传视频到服务器)

  • 如何充分利用推广平台——百科(如何推动)

    如何充分利用推广平台——百科(如何推动)

  • 华为p40pro耗电快怎么办(华为p40pro耗电快发热)

    华为p40pro耗电快怎么办(华为p40pro耗电快发热)

  • 电脑录屏有没有时间限制(录屏 电脑)

    电脑录屏有没有时间限制(录屏 电脑)

  • 路由器的账号是什么(路由器的账号是手机号吗)

    路由器的账号是什么(路由器的账号是手机号吗)

  • 下载历史记录在哪里下载记录在哪里看

    下载历史记录在哪里下载记录在哪里看

  • 荣耀x10有没有红外(荣耀X10有没有红外功能)

    荣耀x10有没有红外(荣耀X10有没有红外功能)

  • 手机没电了微信运动还会记录吗(手机没电了微信语音通话能打通吗)

    手机没电了微信运动还会记录吗(手机没电了微信语音通话能打通吗)

  • 手机一直发烫且耗电快(手机持续发烫)

    手机一直发烫且耗电快(手机持续发烫)

  • 华为本地音乐铃声文件在哪里(华为本地音乐铃声怎么修剪)

    华为本地音乐铃声文件在哪里(华为本地音乐铃声怎么修剪)

  • 手机连wifi开热点 是走流量吗(手机连wifi开热点耗费的是什么)

    手机连wifi开热点 是走流量吗(手机连wifi开热点耗费的是什么)

  • 探探卸载了匹配还在吗(探探删除app后配对会消失吗)

    探探卸载了匹配还在吗(探探删除app后配对会消失吗)

  • 硬盘hdd什么意思(机械硬盘hdd什么意思)

    硬盘hdd什么意思(机械硬盘hdd什么意思)

  • 华为手环4e有心率吗(华为手环4有心率吗)

    华为手环4e有心率吗(华为手环4有心率吗)

  • 微视邀请显示在路上什么意思(微视邀请好友界面为什么没有了)

    微视邀请显示在路上什么意思(微视邀请好友界面为什么没有了)

  • 怎么看骚扰拦截的电话(怎么看骚扰拦截电话的具体时间)

    怎么看骚扰拦截的电话(怎么看骚扰拦截电话的具体时间)

  • 苹果微信恢复聊天记录(苹果微信恢复聊天记录指令)

    苹果微信恢复聊天记录(苹果微信恢复聊天记录指令)

  • 华为mate20pro如何截图(华为mate20pro如何查看电池寿命)

    华为mate20pro如何截图(华为mate20pro如何查看电池寿命)

  • 手机怎么把qq资料卡弄成空白(手机怎么把qq资料卡的空间照片去掉)

    手机怎么把qq资料卡弄成空白(手机怎么把qq资料卡的空间照片去掉)

  • 云闪付二维码过期怎么办(云闪付提示二维码已过期是怎么回事)

    云闪付二维码过期怎么办(云闪付提示二维码已过期是怎么回事)

  • 哈罗单车助力车怎么充电(哈罗单车助力车计费规则)

    哈罗单车助力车怎么充电(哈罗单车助力车计费规则)

  • ai修复教程(ai修复技术百度百科)

    ai修复教程(ai修复技术百度百科)

  • 微信怎么更换银行卡(微信怎么更换银行卡号)

    微信怎么更换银行卡(微信怎么更换银行卡号)

  • 手机上的悬浮球有什么用(手机上的悬浮球怎么关闭)

    手机上的悬浮球有什么用(手机上的悬浮球怎么关闭)

  • 火星快车号传来的火星南极冰盖图像 (© ESA/DLR/FU Berlin/Bill Dunford)(火星车百家号)

    火星快车号传来的火星南极冰盖图像 (© ESA/DLR/FU Berlin/Bill Dunford)(火星车百家号)

  • 【node进阶】在node.js中优雅的使用Socket.IO模块(node-)

    【node进阶】在node.js中优雅的使用Socket.IO模块(node-)

  • YOLOv5实战之输电线路绝缘子缺陷检测识别(yolov5 output)

    YOLOv5实战之输电线路绝缘子缺陷检测识别(yolov5 output)

  • 摊薄净资产收益率是什么意思
  • 个人所得税预扣率10%
  • 长期待摊费用怎么算
  • 给对方汇钱
  • 发票货物名称前带星号规定
  • 外贸出口增值税怎么申报
  • 给职工发奖金有什么规定吗
  • 企业发生劳动仲裁还可以进行融资吗
  • 无偿赠送他人货物交增值税吗
  • 企业微信收款如何同步给别人
  • 未达起征点可以开增值税专票吗
  • 外贸企业代理出口销售业务发生的费用
  • 购买固定资产的税率是多少
  • 购进的货物用于赠送
  • 筹建期的收入要交企业所得税吗
  • 租赁合同未付款生效吗
  • mac系统如何开启任何来源
  • windows10如何关机
  • 金税盘可以抵扣进项税吗
  • 虚拟存储器什么意思
  • quicklylook
  • 补交社保如何做账务处理
  • 对公账户存款利息要交增值税吗
  • 微软输入法卸载不了
  • 工会经费是职工工资总额的
  • 什么情形不属于经警告无效人民警察可以使用武器的情形
  • php数组实现原理
  • 购买商品或服务赠品法律地位
  • 应收账款保理的作用有哪些
  • 研发人员的差旅费可以加计扣除吗
  • laravel 更新数据
  • php遍历目录
  • c++简易游戏
  • 服务业小规模纳税人税率
  • 出口退税逾期申报,需申报出口货物收汇情况表
  • 对公取款
  • 新企业会计准则
  • 小规模纳税人收普票和专票有什么区别
  • 企业赠送客户礼品涉税
  • 教育行业有主营业务吗
  • 珊瑚虫怎么变成珊瑚的
  • sql常用优化技巧
  • 生产成本月末有余额资产负债表平衡吗
  • 金税盘服务费如何抵扣
  • 项目费用有哪些
  • 建筑工程人工费调整
  • 盈余公积多计提对报表的影响
  • 药店医保收入如何查询
  • 总公司和分公司如何分离
  • 付转让费计入什么科目
  • 应付账款跟应收的区别
  • 计提工资与实发工资有差额怎么计算成本
  • 暂估怎么冲回
  • 注册资本和实收股本的区别
  • mysql复杂数据查询方法
  • sql中case when的用法
  • Windows2008 对决 Windows Vista优势
  • kali linux 视频教程
  • linux awk排序
  • win10正式版版本
  • win8自带截图
  • linux操作系统入门教程
  • node. js教程
  • GLWallpaperService分析一
  • python怎么编程
  • python3的urllib
  • js如何获取浏览器窗口大小
  • 如何用nodejs搭建服务端
  • js格式化输出数字
  • jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
  • javascript零基础
  • jquery解析XML及获取XML节点名称的实现代码
  • 网络发票开票系统怎么设置?
  • 宁波出租车购买
  • a类棉b类棉c类的区别
  • 合伙人转让出资的法律规定
  • 北京车位过户手续费多少
  • 车船税单独交行吗
  • 本季度可以弥补上季度亏损吗
  • 山东省地方税务局历任局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设