生成器函数
来源:互联网 发布:网络怎么走电线 编辑:程序博客网 时间:2024/05/20 17:59
Pyhon优雅的魔力使生成器函数很特殊,它们像定格相机一样工作。
当一个标准函数遇到return语句时,它会返回值,然后函数会丢弃内部的所有数据。当下次调用时,一切从头开始。
yield语句会做不同的事情。它像return一样返回一个值,但是它不会使函数丢弃数据,相反所有数据都被保存起来。
#/usr/bin/python3 2 #coding:utf-8 3 4 #生成器函数 yield 5 def odds(start = 1): 6 '''return all odd numbers from start updates''' 7 if int(start) % 2 == 0: 8 start = int(start) + 1 9 while True: 10 yield start 11 start += 2 12 13 if __name__ == "__main__": 14 lis = [m*m for m in range(1,13) if not m*m %2] #生成器表达式 15 print(lis) 16 17 for n in odds(): 18 if n > 7: 19 break 20 else: 21 print(n) 22
0 0
- 生成器函数
- 生成器函数
- 随机数函数生成器
- 纸牌函数生成器
- 生成器函数(generator)
- JavaScript 生成器函数function* () {}
- python 生成器函数
- Python 生成器函数_2
- Python函数之生成器
- Python的生成器表达式与生成器函数
- python生成器函数以及生成器表达式
- 我所理解的生成器(关键词:生成器对象/生成器/生成器表达式/生成器函数/生成器类/generator/yield/__iter__)
- ES6 中的生成器函数介绍
- TCHAR 类型导出函数生成器
- 14. Python开发--生成器函数
- function* 生成器函数 迭代器 yield
- Python 生成器函数_1 (yield)
- 函数、随机数、生成器与迭代器
- Java多线程系列--“JUC锁”07之 LockSupport
- IDEA配置Java SDK
- POJ 1167 The Buses 笔记
- Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock
- Dubbo扩展设计的学习(一):了解javaSPI
- 生成器函数
- 【数据结构】快速(QuickSort)排序之——左右指针法
- 跳过测试用例执行(Maven -DskipTests 与 -Dmaven.test.skip=true)
- Win10下C++代码文件夹遍历错误:0xC0000005: 写入位置时发生访问冲突。
- Java多线程系列--“JUC锁”09之 CountDownLatch原理和示例
- UNIX Domain Socket IPC (Linux C编程一站式学习)
- 遍历js数组对象的长度
- 在salesforce中使用Partner Community的基本流程
- PHPCMS多文件上传和上传数量限制