'''
时间: 9月5日 - 9月30日
要求:
1. 书本内容总结归纳,整理在博客园笔记上传
2. 完成所有课后习题
注:“#” 后加的是备注内容
(每天看42页内容,可以保证月底看完此书)
“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题、习题题目- 加粗,16px
'''

重点笔记

一. 迭代器:初探
如果对象是实际保存的序列,或者可以砸迭代工具环境中一次产生一个结果的对象,就看作是可迭代的。

二. 列表探析:初探
列表解析会产生一个新的列表对象

三. 在文件上使用列表解析
文件对象有一个readlines方法,可以一次性地把文件载入到行字符串的一个列表中:

>>> f = open('c1.py')
>>> lines = f.readlines()
>>> lines
['class Fibs:\n', ' def __init__(self):\n', ' self.a = 0\n', ' self.b = 1\n', ' def next(self):\n', ' self.a,self.b = self.b,self.a + self.b\n', ' return self.a\n', ' def __iter__(self):\n', ' return self\n', ' \n', 'fibs = Fibs()\n', 'for f in fibs:\n', ' if f>1000:\n', ' print f\n', ' break\n']

本章习题:

1. for循环和迭代器之间有什么关系?
答:for循环会使用迭代协议来遍历迭代的对象中的每一个项。for循环会在每次迭代中使用该对象的__next__方法,而且会捕捉StopIteration异常,从而决定何时停止循环。支持这种模式的任何对象,都可以用于for循环以及其它迭代环境中

2.for循环和列表解析直接有什么关系?
答:两者都是迭代工具。列表解析是执行常见for循环任务的简明并高效的方法。
对可迭代对象内所有元素应用一个表达式,并收集其结果。你可以把列表解析转换成for循环,而列表解析表达式的一部分的语法看起来就是for循环的首行。

3.举出Python中的4种迭代环境
答:python中的迭代环境包括for循环、列表解析、map内置函数、in成员关系测试表达式以及内置函数sorted、sum、any和all。

4.如今从一个文本文件逐行读取行的最好的办法是什么?
答:让for循环在每轮自动调用next方法从而前进到下一行

最新文章

  1. 按钮点击,打开qq,用做联系客服
  2. JavaSE 和 JavaEE 的关系
  3. C#中combobox不可编辑与不可选择
  4. 1029c语言文法定义与c程序的推导过程
  5. c3p0操作MySQL数据库
  6. 2014多校第六场 1010 || HDU 4930 Fighting the Landlords (模拟)
  7. labview事件结构
  8. Intellij 部署maven项目
  9. C++中的类指针
  10. 一步一步学数据结构之n--n(Prim算法)
  11. linux c语言定时器
  12. NSIndexSet 浅析
  13. solr服务的搭建(以solr4.1实现)
  14. php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
  15. javaweb项目部署到tomcat服务器
  16. 干货,一文带你超详细了解 Filter 的原理及应用
  17. Java基础知识及学习规划【图】
  18. BZOJ1069 SCOI2007 最大土地面积 凸包、旋转卡壳
  19. CRM INBOX 查询结果增强字段
  20. Vue watch的高级用法

热门文章

  1. NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
  2. lintcode 中等题:Majority number II 主元素 II
  3. Visual Studio 2010快捷键大全
  4. Eclipse:快捷
  5. C#基础精华08(反射,程序集)
  6. 设计模式之工厂方法模式VS简单工厂方法模式
  7. AutoCAD图形打印出图片 C#
  8. Android getActionBar()报空指针异常
  9. 3、JPA一些常用的注解
  10. Java API —— Calendar类