1、匿名函数(lambda)
个人理解为一种简单的定义函数的方式,不需要使用def关键字定义函数。语法:lambda 参数:操作参数表达式。
8
[-1, 1, 3, 5]
2、推导式(comprehensions)
列表,字典和集合中都可以使用推导式。
列表推导式
一种简单创建列表的方法。
字典推导式
{'a': 10, 'b': 34, 'A': 7, 'Z': 3}
集合推导式
{1, 4}
3、迭代器(Iterator)
可迭代对象(Iterable)
python中的对象,只要具有方法__iter__和__getitem__就是可迭代对象,可迭代对象能提供迭代器。
迭代器(Iterator)
被定义了__next__方法的python对象。
判断对象是否是可迭代对象或迭代器
迭代(Iteration)
使用一个循环来遍历某个python对象时,这个过程就叫迭代。
4、生成器(Generators)
生成器也是一种迭代器,但是,只能对其迭代一次。这是因为它们并没有把所有的值存在内存中(可节省大量内存),而是边循环边生成值(生成器保存算法,可以计算下一个元素的值),创建生成器方法如下:
( )包围列表推导式生成
<generator object <genexpr> at 0x000002B53772C4C0>
0149162536496481
自定义函数中添加yield关键字构建生成器
推算算法很复杂时使用自定义函数。举个例子,计算斐波那契数列的生成器。
参考资料
https://www.liaoxuefeng.com/wiki/1016959663602400/1017318207388128Intermediate Python
-END-