Python基础:迭代器、生成器与文件操作详解

需积分: 1 0 下载量 145 浏览量 更新于2024-08-04 收藏 5KB TXT 举报
在本篇Python基础教程中,我们回顾了第04天的主要内容,重点集中在迭代器和生成器、字节串(bytes)与字节数组(bytearray)的区别以及文件操作。首先,迭代器是编程中一种强大的工具,通过`it = iter(可迭代对象)`创建迭代器,`next(it)`用于获取可迭代对象的下一个元素,如果没有更多的元素,会抛出`StopIteration`异常。 生成器是一种特殊的迭代器,它允许我们在函数内部定义一个序列生成器,而不是一次性计算所有结果。生成器可以通过两种方式实现:生成器函数(如`def mygenfun(): yield 1`)和生成器表达式(如`(x ** 2 + 1 for x in range(10))`)。生成器的优势在于节省内存,因为它按需产生值,而不是一次性存储所有值。 字节串(bytes)是不可变的,表示字节序列,而字节数组(bytearray)则是可变的,可以进行索引和切片操作。它们都是序列类型,用于存储字节数据。对于字节操作,`+=`、`*=`等运算符适用于两者,同时支持比较运算符 `<`, `>`, `<=`, `>=`, `==`, `!=`。查找逻辑用`in`和`not in`,索引和切片访问机制相同。 接下来,我们探讨了文件的基本概念,文件在计算机中用于长期存储数据,数据按字节顺序存储。文件操作流程包括:打开文件(`open()`函数,如`open(file, 'rt')`),读写文件(如`readlines()`和写入操作),以及关闭文件(调用`F.close()`)。需要注意的是,操作系统对同时打开文件的数量有限制,并且文件操作可能会引发`OSError`异常。 文本文件和二进制文件是Python中常见的文件类型。文本文件默认以行为基础存储字符数据,使用`\n`作为换行符。不同操作系统之间存在不同的换行标准,如Linux的`\n`、Windows的`\r\n`等。通过`open()`函数指定文件模式,可以处理文本文件(如`'rt'`)和二进制文件(如`'rb'`)。 最后,提供了几个实例和练习,如创建和读取文本文件、操作换行符,以及进行简单的文本文件写入。这些建议有助于读者深入理解Python基础,并实际操作文件操作和迭代器/生成器的使用。 通过本篇内容,学习者能够掌握迭代器、生成器的基础原理,以及如何高效地处理字节数据和文件操作,为后续的Python编程实践打下坚实基础。