首页 > 其他 > 详细

函数进阶之迭代器,递归

时间:2019-09-12 20:46:42      阅读:82      评论:0      收藏:0      [点我收藏+]

迭代器

可迭代的对象:具有iter方法的对象,可迭代对象不一定是迭代器对象

迭代器对象:具有iter和next方法的对象,迭代器对象一定是可迭代对象,迭代器对象加上iter方法还是迭代器本身

for 循环原理

for i in lt:

  1. 把lt变成迭代器对象

  2. 然后迭代使用next方法获取每一个元素

  3. 捕捉异常中断while循环

三元表达式

print(1) if i > 10 else print(2)

列表推导式

? [i for i in range(10)] #0-9已经拿出来了

字典生成式

{k:v for k,v in dic.items()}

生成器表达式

(i for i in rang(10)) #不去使用next取值,是没有值的

生成器

自定制的迭代器

def func():

? yield

yield:

1.展厅函数,遇到下一个yield继续运行函数代码

2.具有返回值

3.让函数()变成生成器对象

return:

1.终止函数

2.返回值

匿名函数

没有名字的函数 lambda参数:代码块

一般不单独使用,与max/min/map/filter/sorted联用

递归

函数调用函数本身,但是必须得有结束条件

内置函数

内置函数的直接用的,属于Python解释器的

数据类型的内置函数只有数据类型本身才能使用

enumerate()

面向过程变成

流水线

优点:思路清晰

缺点:可扩展性差;功能与功能直接不独立;调试麻烦

函数进阶之迭代器,递归

原文:https://www.cnblogs.com/shiqizz/p/11515030.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!