python进阶

迭代器

迭代器是访问可迭代对象的工具,通过 iter() 和 next() 实现。

迭代器只能向前取值,不能后退。

for 循环内部使用了迭代器机制。

 生成器

生成器是一种特殊的迭代器,通过 yield 关键字逐步生成值。

生成器函数在每次调用 next() 时从上次暂停的地方继续执行。

生成器表达式类似于列表推导式,但使用圆括号 (),适合处理大数据流。

 函数式编程

核心思想是使用纯函数、不可变数据和高阶函数。

纯函数:无副作用,相同的输入总是返回相同的输出。

不可变数据:数据一旦创建就不能修改。

高阶函数:可以接受函数作为参数或返回函数。

高阶函数

map():将函数应用到可迭代对象的每个元素。

reduce():对序列中的元素进行累积计算。

filter():根据条件筛选可迭代对象中的元素。

sorted():对可迭代对象进行排序,支持自定义排序规则。

Lambda

匿名函数,语法简洁,适合作为参数传递。常用于高阶函数中。

 闭包
闭包是指引用了外部函数变量的内部函数。

闭包可以捕获和修改外部变量,常用于数据封装和函数式编程。

优点:避免全局变量污染,支持高阶函数和柯里化。

缺点:可能导致内存泄漏,代码可读性降低。

装饰器

装饰器是一个函数,用于包装另一个函数或类,扩展其功能。

装饰器可以在不修改原函数代码的情况下添加新功能。

装饰器链:多个装饰器从内到外依次应用。

类装饰器:通过类的 __call__ 方法实现装饰器功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值