Python成长之路(四)——循环设计、循环对象、函数对象、错误处理、动态类型

循环设计

  • range()
    在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标。
    我们也可以使用len()函数和range()函数结合使用,以达到通过下表访问序列的效果:
    这里写图片描述

  • enumerate()
    利用enumerate函数,可以每次循环中同时得到下表和元素(即每次循环返回的是一个二元组(index,element)):
    这里写图片描述

  • zip()
    如果有多个等长的序列,然后每次循环时从各个序列分别取出一个元素,可以利用zip()实现:
    这里写图片描述

    zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能。
    这里写图片描述

循环对象

  • 什么是循环对象
    循环对象是这样一个对象,它包含有一个next()方法 ( next() 方法,在python 3x中 ), 这个方法的目的是进行到下一个结果,而在结束一系列结果之后,举出StopIteration错误。当一个循环结构(比如for)调用循环对象时,它就会每次循环的时候调用next()方法,直到StopIteration出现,for循环接收到,就知道循环已经结束,停止调用next()。

    这里我们创建一个文本文件:
    这里写图片描述

    然后我们手动的在python命令行中一次一次的循环,人工查看StopIteration错误:
    这里写图片描述
    注意:open()返回的实际上是一个循环对象,包含有next()方法。而该next()方法每次返回的就是新的一行的内容,到达文件结尾时举出StopIteration。这样,我们相当于手工进行了循环。

    其实在使用for循环时,在循环结束时,也会触发StopIteration错误,不过它自动判断然后结束循环:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值