任务18/19:迭代+函数定义

一、迭代

1。能使用for循环打印的比如文件、元组、列表、字典等,均是可迭代的,支持迭代协议,其内部有个_next_()方法,能实现迭代元素。
使用:比如文件:f.next()
也可使用全局函数:next()
next()用来移动指针到 下一个元素,迭代打出的变量占据的内存空间少
2。迭代工具
在这里插入图片描述
能否迭代是看会不会实现迭代协议:
迭代器对象(比如文件):默认支持迭代,已经实现迭代协议
可迭代对象(比如列表):调用iter()=》iter()用于生成迭代器
使用for可默认帮调用iter(不需额外再写)

判断变量本身是否已经实现迭代器功能:
表示f文件本身已具备迭代器,不需再次调用iter
在这里插入图片描述
但是,默认拥有的迭代器仅可用一次。next打印完毕后再次对f使用next则会报错。
对于不具备迭代器的对象,比如列表:通过套一层iter方法即可进行调用next
在这里插入图片描述
l=[1,2,3]
res=[]在这里插入图片描述
以上代码和以下 的功能是一致的,以下方法叫做列表推导:返回的是列表
在这里插入图片描述
推导表达式中,可迭代的变量都可以放,文件也可以
在这里插入图片描述
内置可迭代对象:
1。range(a,b)
2。zip
在这里插入图片描述
3。map(函数,列表)表示把列表中的每个值都应用在函数的执行中
在这里插入图片描述
实现迭代协议的对象,可以进行迭代。

函数定义与参数

def来定义
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值