从头认知生成器Generator

从头认知生成器Generator

我们知道,函数体包含 yield 关键字的函数不是一个普通函数。这种函数叫做 生成器 ( generator ),一般用于循环处理结构,应用得当可以极大优化内存使用效率。例如,设计一个函数,打开文件并将每一行转成大写并返回: defread_file_upper(path): lines=[] w

新生生成器Generator介绍给你

这个版本的函数,在内部创建了一个 list 对象,用于保存转换结果。for 循环则遍历文件每一行,将其转成大写并追加到列表中。这样一来,文件中的每一行均需要保存在列表中,如果文件很大,内存开销可想而知。 我们可以借助 yield 关键字,将 read_file_upper