我是靠谱客的博主 暴躁猎豹,最近开发中收集的这篇文章主要介绍for循环的工作原理详解-Python一、运行原理:二、用代码模拟for循环的运行过程:对2、的解读:,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一、运行原理:
- for循环就是对容器进行迭代(从容器中逐个读取元素,直到结束)的过程。
- 只有具有__iter__方法(iteration迭代的简写,可返回一个迭代器)的对象才算可迭代对象。
- 而迭代器(iterator)可以实现__next__方法,每次按顺序返回一个值。
二、用代码模拟for循环的运行过程:
1、直接使用for循环打印range(1,3)
for i in range(1,3):
print('这是通过for循环打印出来的i值:'+str(i))
2、使用分解代码模拟for循环打印range(1,3)
x=range(1,3)
iterator=x.__iter__()
i=iterator.__next__()
print(i)
i=iterator.__next__()
print(i)
对2、的解读:
- 首先使用range函数创建一个整数列表,这是一个可迭代的对象。
- 然后对这个整数列表使用__iter__迭代方法(只有可迭代对象才有这个方法),再赋值给变量iterator。
- 再对iterator使用__next__方法,赋值给变量i。
- 在代码执行时,Python会先判断其是否为可迭代对象,若不是就直接报错,若是则调用__iter__方法,并返回一个迭代器。
- 不断调用迭代器的__next__方法,每次都会按顺序返回一个列表内的值。
- 到第三个__next__方法时,就会报StopIteration异常了,因为range(1,3)这个函数生成的列表中只有1、2这两个元素,没有第三个元素。
- 迭代结束后,就会抛出StopIteration异常,但在for循环中该异常会被Python自动处理,不会暴露出来。
最后
以上就是暴躁猎豹为你收集整理的for循环的工作原理详解-Python一、运行原理:二、用代码模拟for循环的运行过程:对2、的解读:的全部内容,希望文章能够帮你解决for循环的工作原理详解-Python一、运行原理:二、用代码模拟for循环的运行过程:对2、的解读:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复