首页IT科技python中的for循环和while循环(python中for循环的底层实现)

python中的for循环和while循环(python中for循环的底层实现)

时间2025-08-04 20:54:17分类IT科技浏览4414
导读:在python中,存在2种循环方式:for循环和while循环。...

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

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

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

迭代

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

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

fromcollectionsimportIterable,Iterator

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

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

1.可迭代对象

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

a = [1, 2, 3]

isinstance(a, Iterable) # True

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

2.迭代器对象

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

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

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

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

for循环

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

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

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

相关推荐:

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python的属性和方法(Python中处理属性的重要属性和函数是什么) c盘空间太小怎么办解决(感觉C盘空间紧张?检查一下这几个设置吧)