摘要:
一文分清Python中的三种计算策略:急切、惰性与延迟计算 在Python处理数据时,“什么时候执行计算”是决定代码效率与内存占用的关键。同样是生成100万条数据,有的写法会瞬间占满内存,有的却能轻量运行;同样是复杂计算,有的会立刻执行,有的却能等到需要结果时再“动手”。这背后是三种核心计算策略的差 阅读全文
posted @ 2025-11-04 09:55
wangya216
阅读(39)
评论(0)
推荐(0)
摘要:
在Python中,抽象基类(Abstract Base Class, ABC)是定义接口规范的“模板”,它通过@abstractmethod强制子类实现特定方法,确保所有子类都符合统一的接口标准。对于可迭代对象、迭代器、生成器这三者,Python的collections.abc模块提供了对应的抽象基 阅读全文
posted @ 2025-11-04 09:53
wangya216
阅读(6)
评论(0)
推荐(0)
摘要:
在Python中,yield是生成器函数的“核心开关”——它不仅能让函数返回一个值,更能暂停函数执行并保存当前状态,等待下次被唤醒时从暂停处继续运行。这种“暂停-恢复”的特性,让生成器实现了“惰性求值”和“状态保持”,而next()和send()则是与生成器交互的“遥控器”,分别负责“唤醒生成器”和 阅读全文
posted @ 2025-11-04 09:31
wangya216
阅读(63)
评论(0)
推荐(0)
摘要:
一文理清Python迭代器、可迭代对象与生成器 一、引言 在Python中,“迭代”是最基础的操作之一——从遍历列表到处理大型数据集,我们几乎每天都在与它打交道。但支撑这一操作的三个核心概念——可迭代对象、迭代器和生成器,却常常让人混淆: 为什么列表能被for循环遍历,却不能直接用next()函数获 阅读全文
posted @ 2025-11-04 09:29
wangya216
阅读(110)
评论(0)
推荐(0)
摘要:
只实现 __getitem__() 方法的对象实际上是可迭代对象。 但这类对象不会被 isinstance(obj, Iterable) 判定为 True(因为 Iterable 抽象基类的判定依赖 iter 方法)。 这是“实际可迭代”与“形式上被识别为 Iterable”的区别。 在 Pytho 阅读全文
posted @ 2025-11-04 09:07
wangya216
阅读(18)
评论(0)
推荐(0)

浙公网安备 33010602011771号