手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

廖雪峰python基础教程廖雪峰python课程怎么样寥雪峰python教程

时间:2022-05-08    点击: 次    来源:网络    作者:佚名 - 小 + 大

廖雪峰python基础教程廖雪峰python课程怎么样寥雪峰python教程


下载地址

https://share.weiyun.com/RS9A6Xk6


资料目录

廖雪峰python视频教程1 爬虫的基本框架及知识(day1-day15)
廖雪峰python视频教程2 scapy框架及爬虫进阶(day16-day20)
廖雪峰python视频教程3 爬虫高级知识及就业培训(day21-day28)
廖雪峰python教程官网doc
廖雪峰 2018年官方最新Python3教程(一)pdf
廖雪峰 2018官方Python3教程(二)pdf
廖雪峰2018官方Python3教程(三)pdf
廖雪峰python学习笔记(入门+进阶).doc
Python3高级教程(开课吧)pdf
Python3零基础教程(开课吧)pdf
利用Python进行数据分析(中文版)pdf
廖雪峰商业爬虫案例
廖雪峰商业爬虫课件
廖雪峰商业爬虫练习答案
爬虫第一节-爬虫第十四节
Python爬虫预习书籍
python环境和pychram


举例

首先了解一下上面用到的那个内置函数:iter(),官方文档中有这样
一段话描述之:
iter(o[,sentinel])
Return an iterator object.The first argument is interpreted very
differently depending on the presence of the second argument.Without a
second argument,o must be a collection object which supports the iteration
protocol(the iter()method),or it must support the sequence protocol(the
getitem()method with integer arguments starting at 0).If it does not support
either of those protocols,TypeError is raised.If the second argument,
sentinel,is given,then o must be a callable object.The iterator created in
this case will call o with no arguments for each call to its next()method;if the
value returned is equal to sentinel,StopIteration will be raised,otherwise
the value will be returned.
提炼一下此段主要的东西:
返回值是一个迭代器对象。
参数需要是一个符合迭代协议的对象或者是一个序列对象。
next()配合与之使用。
我们常常将那些能够用诸如循环语句之类的方法来一个一个地读取元素的对象,就称为可迭代的对象。那么用来循环的(如for)就称为迭代工具。
用严格一点的语言说:所谓迭代工具,就是能够按照一定顺序扫描迭代对象的每个元素(按照从左到右的顺序)。
显然,除了for之外,还有别的迭代工具。
那么,刚才介绍的iter()的功能呢?它与next()配合使用,也有实现上述迭代工具的作用。
在Python中,甚至在其他的语言中,关于迭代的说法比较乱,主要是名词乱,刚才我们说,那些能够实现迭代的工具,称为迭代工具,就是这些迭代工具,不少程序员都喜欢叫作迭代器。当然,这都是汉语翻译,英语就是iterator。
从例子中会发现,如果用for来迭代,当到末尾的时候就自动结束了,不会报错。如果用iter()...next()迭代,当最后一个完成之后不会自动结束,还要继续向下,但是后面没有元素了,于是就报一个称之为StopIteration的错误(这个错误的名字叫作停止迭代,这哪里是报错,分明是警告)。
读者还要关注iter()...next()迭代的一个特点。当迭代对象lst_iter被迭代结束,即每个元素都读取了一遍之后,指针就移动到了最后一个元素的后面。如果再访问,指针并没有自动返回到首位置,而是仍然停留在末位置,所以报StopIteration,想要再开始,就需要重新载入迭代对象。所以,当我在上面重新进行迭代对象赋值之后,又可以继续了。这种情况在for等类型的迭代工具中是没有的。

上一篇:廖雪峰Python有趣廖雪峰python2.7教程pdf版寥雪峰python乐趣

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |