没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
文章目录正文:1 生成器1)生成器:2 生成器表达式、列表推导式1)列表推导式2)生成器表达式3 内置函数1)比较重要2)*非常重要*3)挺重要4 匿名函数5 闭包1)定义2)特点3)作用4)判断6 装饰器1)开放封闭原则2)装饰器定义3)装饰器的应用 正文: 1 生成器 1)生成器: 生成器定义 生成器与迭代器可以看成是一种。生成器的本质就是迭代器 唯一区别:生成器是我们自己用python代码构建的数据结构。迭代器都是提供的,或者转化得来的。 获取生成器的三种方式: 生成器函数 生成器表达式 python内部提供的一些生成器 生成器函数获取生成器: # 函数 def func1():
资源推荐
资源详情
资源评论
3.29 python函数函数2(生成器生成器&列表表达式列表表达式&生成器表达式生成器表达式&匿名匿名
函数函数&闭包闭包&装饰器装饰器) 学习笔记学习笔记
文章目录文章目录正文:1 生成器1)生成器:2 生成器表达式、列表推导式1)列表推导式2)生成器表达式3 内置函数1)比较重要
2)*非常重要*3)挺重要4 匿名函数5 闭包1)定义2)特点3)作用4)判断6 装饰器1)开放封闭原则2)装饰器定义3)装饰
器的应用
正文:正文:
1 生成器生成器
1)生成器:)生成器:
生成器定义生成器定义
生成器与迭代器可以看成是一种。生成器的本质就是迭代器
唯一区别:生成器是我们自己用python代码构建的数据结构。迭代器都是提供的,或者转化得来的。
获取生成器的三种方式:获取生成器的三种方式:
生成器函数
生成器表达式
python内部提供的一些生成器
生成器函数获取生成器生成器函数获取生成器:
# 函数
def func1():
print(111)
print(222)
return 3
ret = func1()
print(ret)
#
# 生成器函数
def func2():
print(111)
print(222)
yield 3
a = 1
b = 2
c = a + b
print(c)
yield 4
ret = func2()
# print(ret)
print(next(ret))
print(next(ret))
print(next(ret))
# 一个next 对应一个yield
'''
return and yield
'''
# return ;函数中只存在一个return结束函数,并且给函数的执行者返回值。
# yield:只要函数中有yield那么它就是生成器函数而不是函数了。
# 生成器函数中可以存在多个yield,yield不会结束生成器函数,一个yield对应一个next。
# 吃包子问题解析生成器
def func11():
l1 = [] for i in range(1,5001):
l1.append(f'{i}号包子')
return l1
ret = func11()
print(ret)
def gen_func22():
for i in range(1,5001):
yield f'{i}号包子'
ret = gen_func()
for i in range(200):
print(next(ret))
for i in range(200):
print(next(ret))
'''
yield from
'''
def func111():
l1 = [1, 2, 3, 4, 5] yield l1
ret = func111()
print(next(ret))
def func222():
l1 = [1, 2, 3, 4, 5] yield from l1
'''
yield 1
yield 2
yield 3
yield 4
yield 5
'''
# 将l1这个列表变成了迭代器返回。
ret = func222()
print(next(ret))
print(next(ret))
print(next(ret))
print(next(ret))
print(next(ret))
# 多个yield
def func():
lst1 = ['卫龙', '老冰棍', '北冰洋', '牛羊配'] lst2 = ['馒头', '花卷', '豆包', '大饼'] yield from lst1
yield from lst2
g = func()
for i in range(8):
print(next(g))
2 生成器表达式、列表推导式生成器表达式、列表推导式
1)列表推导式)列表推导式
基本结构基本结构
l1 = [i for i in range(1,11)]
列表推导式优缺点:列表推导式优缺点:
优点优点
列表推导式只能构建比较复杂并且有规律的列表。
超过三层循环才能构建成功的,就不建议用列表推导式。
查找错误(debug模式)不行。
缺点缺点
一行构建,简单。
2)生成器表达式)生成器表达式
与列表推导式写法几乎相同:与列表推导式写法几乎相同:(i for i in range(10))
列表推导式和生成器表达式区别:列表推导式和生成器表达式区别:
写法:[] ()
iterable可迭代对象 和 iterator 迭代器的区别
字典推导式:字典推导式:
lst1 = ['jay', 'jj', 'meet'] lst2 = ['周杰伦','林俊杰','元宝'] dic = { lst2[i]: lst1[i] for i in range(len(lst1))}
print(dic)
集合推导式:集合推导式:
print({i for i in range(1,11)})
3 内置函数内置函数
剩余9页未读,继续阅读
资源评论
weixin_38744375
- 粉丝: 373
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 国际象棋检测2-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- ssd5课件图片记录保存
- 常用算法介绍与学习资源汇总
- Python与Pygame实现带特效的圣诞节场景模拟程序
- 国际象棋检测11-YOLO(v7至v9)、COCO、Darknet、Paligemma、VOC数据集合集.rar
- 使用Python和matplotlib库绘制爱心图形的技术教程
- Java外卖项目(瑞吉外卖项目的扩展)
- 必应图片壁纸Python爬虫代码bing-img.zip
- 基于Pygame库实现新年烟花效果的Python代码
- 浪漫节日代码 - 爱心代码、圣诞树代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功