摘要:
os.walk 这个函数在遍历目录树的过程中产出文件名,因此递归搜索文件系统像for 循环那样简单。 用于过滤的生成器函数 模块 函数 说明 itertools compress(it,selector_it) 并行处理两个可迭代的对象;如果 selector_it中的元素是真值,产出 it 中对应 阅读全文
posted @ 2020-05-26 18:36
秋华
阅读(246)
评论(0)
推荐(0)
摘要:
生成器表达式可以理解为列表推导的惰性版本:不会迫切地构建列表,而是返回一个生成器,按需惰性生成元素。也就是说,如果列表推导是制造列表的工厂,那么生成器表达式就是制造生成器的工厂。 示例 14-8 先在列表推导中使用 gen_AB 生成器函数,然后在生成器表达式中使用 >>> def gen_AB() 阅读全文
posted @ 2020-05-26 17:50
秋华
阅读(328)
评论(0)
推荐(0)
摘要:
简介 设计 Iterator 接口时考虑到了惰性:next(my_iterator) 一次生成一个元素。懒惰的反义词是急迫,其实,惰性求值(lazy evaluation)和及早求值(eager evaluation)是编程语言理论方面的技术术语。 re.finditer 函数是 re.findal 阅读全文
posted @ 2020-05-26 17:37
秋华
阅读(274)
评论(0)
推荐(0)
摘要:
前言 实现相同功能,但却符合 Python 习惯的方式是,用生成器函数代替SentenceIterator 类。示例 14-5 sentence_gen.py:使用生成器函数实现 Sentence 类 import re import reprlib RE_WORD = re.compile('\w 阅读全文
posted @ 2020-05-26 17:31
秋华
阅读(367)
评论(0)
推荐(0)
摘要:
“每个人的时间都是有限的,在有限的时间里选择一项值得投入的技术会变得尤为重要。” Photo @ intheblack.com 文 | 章剑锋(简锋) “每个人的时间都是有限的,在有限的时间里选择一项值得投入的技术会变得尤为重要。” 笔者从 2008 年开始工作到现在也有 12 个年头了,一路走来都 阅读全文
posted @ 2020-05-26 14:57
秋华
阅读(97)
评论(0)
推荐(0)
摘要:
2020-09-27 对一门技术的学习方式应该是 了解(知道它的相关介绍、用处) 用(了解常用 API) 用熟(对常用 API 能够用熟来,并了解一些高级 API) 解决问题(根据业务场景遇到的问题能够定位问题并解决) 看源码(深入源码的实现,此种情况主要是兴趣爱好驱动) 整体思路与学习路径 当我们 阅读全文
posted @ 2020-05-26 14:19
秋华
阅读(370)
评论(0)
推荐(0)
摘要:
标准迭代器 示例 14-4 sentence_iter.py:使用迭代器模式实现 Sentence 类 import re import reprlib RE_WORD = re.compile('\w+') class Sentence: def __init__(self, text): sel 阅读全文
posted @ 2020-05-26 13:46
秋华
阅读(182)
评论(0)
推荐(0)
摘要:
可迭代的对象 如果对象实现了能返回迭代器的 __iter__ 方法,那么对象就是可迭代的。 序列都可以迭代;实现了 __getitem__ 方法,而且其参数是从零开始的索引,这种对象也可以迭代。 >>> s = 'ABC' >>> it = iter(s) # ➊ >>> while True: . 阅读全文
posted @ 2020-05-26 13:11
秋华
阅读(270)
评论(0)
推荐(0)
摘要:
简介 在 Python 中,所有集合都可以迭代。在 Python 语言内部,迭代器用于支持: 1.for 循环2.构建和扩展集合类型3.逐行遍历文本文件4.列表推导、字典推导和集合推导5.元组拆包6.调用函数时,使用 * 拆包实参 语言内部使用 iter(...) 内置函数处理可迭代对象的方式 序列 阅读全文
posted @ 2020-05-26 12:40
秋华
阅读(254)
评论(0)
推荐(0)

浙公网安备 33010602011771号