Python学习笔记(七):高级特性、函数式编程、模板(快速入门篇)

看完自强学堂的介绍后,觉得少讲了很多在《Head First Python》和《Python基础教程》中有的东西,于是借廖雪峰的博客进行进一步补充:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

由于是补充,所以这里仅提及在前面笔记中缺少的东西,不做重复介绍。

高级特性

列表生成式

运用列表生成式,可以快速生成list,可以通过一个list推导出另一个list,而代码却十分简洁。

[x * x for x in range(1, 11) if x % 2 == 0]
Result:[4, 16, 36, 64, 100]

生成器

generator是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。

要理解generator的工作原理,它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。对于函数改成的generator来说,遇到return语句或者执行到函数体最后一行语句,就是结束generator的指令,for循环随之结束。

列表生成式改生成器

只要把一个列表生成式的[]改成(),就创建了一个generator

L = [x * x for x in range(10)] #列表生成式
g = (x * x for x in range(10)) #生成器

创建了一个generator后,基本上永远不会调用next()方法,而是通过for循环来迭代它。

yield关键字的生成器

如果推算的算法比较复杂,用类似列表生成式的for循环无法实现的时候,还可以用函数来实现。

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值