迭代器
迭代器是访问可迭代对象的工具,通过 iter() 和 next() 实现。
迭代器只能向前取值,不能后退。
for 循环内部使用了迭代器机制。
生成器
生成器是一种特殊的迭代器,通过 yield 关键字逐步生成值。
生成器函数在每次调用 next() 时从上次暂停的地方继续执行。
生成器表达式类似于列表推导式,但使用圆括号 (),适合处理大数据流。
函数式编程
核心思想是使用纯函数、不可变数据和高阶函数。
纯函数:无副作用,相同的输入总是返回相同的输出。
不可变数据:数据一旦创建就不能修改。
高阶函数:可以接受函数作为参数或返回函数。
5 高阶函数
map():将函数应用到可迭代对象的每个元素。
reduce():对序列中的元素进行累积计算。
filter():根据条件筛选可迭代对象中的元素。
sorted():对可迭代对象进行排序,支持自定义排序规则。
Lambda
匿名函数,语法简洁,适合作为参数传递。常用于高阶函数中。
闭包
闭包是指引用了外部函数变量的内部函数。
闭包可以捕获和修改外部变量,常用于数据封装和函数式编程。
优点:避免全局变量污染,支持高阶函数和柯里化。
缺点:可能导致内存泄漏,代码可读性降低。
装饰器
装饰器是一个函数,用于包装另一个函数或类,扩展其功能。
装饰器可以在不修改原函数代码的情况下添加新功能。
装饰器链:多个装饰器从内到外依次应用。
类装饰器:通过类的 __call__ 方法实现装饰器功能。

被折叠的 条评论
为什么被折叠?



