zoukankan      html  css  js  c++  java
  • 《Python 学习手册4th》 第十四章 迭代器和解析

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

    重点笔记

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

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


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

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

    本章习题:

    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方法从而前进到下一行

  • 相关阅读:
    在 macOS High Sierra 10.13 搭建 PHP 开发环境
    给你的网站免费配置上 HTTPS 证书
    将 MacOS 默认的 PHP 版本升级到 7.*
    System.Data.SqlClient.SqlException: 'Incorrect syntax near 'OFFSET'.
    IIS7/8 HTTP Error 500.19 错误 0x80070021 错误代码:0x8007000d
    http error 502.5
    信用卡逾期了怎么办 ?逾期记录“修复”的两大原则
    APP多开教程
    lua调用不同lua文件中的函数
    Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组
  • 原文地址:https://www.cnblogs.com/wuzhiming/p/3981543.html
Copyright © 2011-2022 走看看