yield和return
2024-09-06 01:29:22
yield
是用于生成器。什么是生成器,你可以通俗的认为,在一个函数中,使用了yield来代替return的位置的函数,就是生成器。它不同于函数的使用方法是:函数使用return来进行返回值,每调用一次,返回一个新加工好的数据返回给你;yield不同,它会在调用生成器的时候,把数据生成object,然后当你需要用的时候,要用next()方法来取,同时不可逆。你可以通俗的叫它"轮转容器",可用现实的一种实物来理解:水车,先yield来装入数据、产出generator object、使用next()来释放;好比水车转动后,车轮上的水槽装入水,随着轮子转动,被转到下面的水槽就能将水送入水道中流入田里。
def func3():
for i in range(1,5):
yield i#装入
gob = func3()#generator 类型
print next(gob)#1 释放的第一个装入的数据,(先入先出)
print next(gob)#2
print next(gob)#3
print next(gob)#4
print next(gob)#报错
return
这个大家都知道了,一句话,return既可以终止函数的执行,也可以返回函数加工处理好的数据,只是这个数据需要一个载体来进行保存,通常是变量。非条件判断的时候,只要遇见return,函数就结束执行。
最新文章
- Web系统性能测试术语简介
- Android客户端和服务器端数据交互
- css解决方案
- continue 语句
- codeforces B. Sereja and Stairs 解题报告
- Android ActionBar标题和渐变背景
- Oracle归档方式设置
- Jquery 操作Html 控件 CheckBox、Radio、Select 控件
- Ehcache中配置详解
- 20个经典bootsrtap后台html站点模板推荐
- Python自动化环境搭建
- iOS在地图上WGS84、GCJ-02、BD-09互转解决方案
- iOS、真机调试
- 华为OJ之放苹果
- POJ 1861:Network(最小生成树&;amp;&;amp;kruskal)
- Ubuntu下Maven配置与Maven项目创建教程
- Securing Spring Cloud Microservices With OAuth2
- leetcode — word-search
- UVA1153-Keep the Customer Satisfied(贪心)
- Linux网络编程学习(一) ----- 概论和Linux模型(第一章第二章)
热门文章
- 异或前缀和,组合数学——cf1054D
- 关于iosselectjs插件设置同步值的操作实践
- 线段树分治初步学习&;洛谷P5227[AHOI2013]连通图
- 47 Majority Element II
- {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)
- L2-006 树的遍历 (层序遍历)
- yii2下使用支付宝
- Leetcode965. Univalued Binary Tree单值二叉树
- Python中的urlparse、urllib抓取和解析网页(一)
- #include <;filename.h>; 和 #include“filename.h” 有什么区别