python yield关键词案例测试
2019-10-15 18:08
901 查看
测试环境
win10
python 3.5
yield功能简介
简单来说,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator
代码演示
例子1: 输出斐波那契數列前 N 个数
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'shouke' def fab(max): n, a, b = 0, 0, 1 result = [] while n < max: result.append(b) a, b = b, a + b n = n + 1 return result for n in fab(5): print(n)
以上代码虽然可以满足需求,但是存在的问题:该函数在运行中占用的内存会随着参数 max 的增大而增大,如果要控制内存占用,最好不要用 List
改进 使用yield
def fab(max): n, a, b = 0, 0, 1 while n < max: yield b # 使用 yield a, b = b, a + b n = n + 1 for n in fab(5): print(n)
例子2:读二进制方式取文件并生成文件副本
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'shouke' def read_file(fpath): BLOCK_SIZE = 1024 with open(fpath, 'rb') as f: while True: block = f.read(BLOCK_SIZE) if block: yield block else: return with open('D:\Downloads\\channels-2.1.7-copy.tar.gz', 'wb') as f: for data in read_file('D:\Downloads\\channels-2.1.7.tar.gz'): f.write(data)
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- Python 生成器与迭代器 yield 案例分析
- python yield关键词总结
- 《Python学习手册》学习笔记(12)之第12章if测试和语法规则(关键词:编程语言/Python/if)
- 《Python语言及其应用》读书笔记(11)之第12章成为真正的Python开发者(关键词:测试/调试/优化)
- Python统计测试案例中反案例的占比
- Python案例:按键测试
- 推荐 | 关于Python的20个关键词和45个最佳案例
- python yield关键词
- Python+selenium第一个测试案例
- 测试效率优化案例----多国语言自动化校验工具(python)
- Selenium测试案例一步步学之(1)Python语言实现QQ邮箱登录查看非阅读邮件
- Python yield的理解与简单测试
- python requests 接口自动化测试案例
- 2、 python文本关键词提取实现(案例)
- 浅析Python中yield关键词的作用与用法
- 浅析Python中yield关键词的作用与用法
- python中的yield关键词用法总结
- 贝叶斯案例3:文本关键词提取、新闻分类(python实现)
- Python yield 使用浅析
- 通过编写Python小程序来统计测试脚本的关键字分析 20160328