yield与return的区别
来源:互联网 发布:刘若英我知谁掌管明天 编辑:程序博客网 时间:2024/06/05 11:19
生成器(generator)的作用是一次产生一个数据项,并把数据项输出,generator函数可以用在for循环中遍历.generator函数定义:
def 函数名(参数):
...
yield 表达式 generator函数的定义和普通函数的定义没什么区别,只要在函数体内使用yield生成数据项即可.generator函数可以被for循环遍历,并且可以通过next()方法获得yield生成的数据项
generator函数实例:
#/usr/bin/python
#-*- coding:utf-8 -*-
#定义generator函数
def func(n):
for i in range(n):
yield i
def 函数名(参数):
...
yield 表达式 generator函数的定义和普通函数的定义没什么区别,只要在函数体内使用yield生成数据项即可.generator函数可以被for循环遍历,并且可以通过next()方法获得yield生成的数据项
generator函数实例:
#/usr/bin/python
#-*- coding:utf-8 -*-
#定义generator函数
def func(n):
for i in range(n):
yield i
for i in func(3):
print i
print "************************************"
r=func(3)
print r.next()
print r.next()
print r.next()
print r.next()
运行结果:
0
1
2
************************************
0
1
2
Traceback (most recent call last):
File "yieldpy.py", line 15, in ?
print r.next()
StopIteration
yield保留字与return语句的返回值和执行原理都不相同,yield生成值并不会中止程序的执行,返回值后程序继续往后执行,return返回值后,程序将中止执行
0 0
- yield与return的区别
- yield与return的区别
- lambda函数、generator函数、yield与return语句的区别
- yield break 与 yield return
- 迭代器与yield return
- C#中 yield return 与 yield break
- C#中 yield return 与 yield break
- C#中 yield return 与 yield break
- yield return 关键字的详解
- C# yield return 的作用
- 对yield return的理解
- 关于yield return的使用
- Python中 print ,return,yield区别
- continue与return 的区别
- exit 与 return 的区别
- return与exit的区别
- return与break的区别
- exit与return的区别
- IT忍者神龟之Photoshop简单几步制作秋意GIF动画效果
- Linux下安装svn client 1.8
- 尾递归
- 如何让自己的工作更加精彩
- 如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算
- yield与return的区别
- ios 设置状态栏背景颜色
- 使用四大方案保障域名安全
- java实现万年历<51cto学院学习笔记>
- 第七周项目2求圆柱体的表面积
- HTTP协议(1)—HTTP的连接
- 使用jQuery和CSS自定义HTML5 Video 控件 简单适用
- saas相关说明解释
- 推荐的机器学习的网址