码迷,mamicode.com
首页 > 其他好文 > 详细

函数进阶之迭代器,递归

时间:2019-09-12 21:15:28      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:一个   代码   元素   fun   next   中断   生成式   表达式   三元   

迭代器

可迭代的对象:具有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()

面向过程变成

流水线

优点:思路清晰

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

函数进阶之迭代器,递归

标签:一个   代码   元素   fun   next   中断   生成式   表达式   三元   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!