• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python yield使用方法示例

Python yield使用方法示例

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python yield,python yield函数,python yield send,python中yield,python yield嵌套等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1. iterator
叠代器最简单例子应该是数组下标了,且看下面的c++代码:

叠代器工作在一个容器里(array[10]),它按一定顺序(i++)从容器里取出值(array[i])并进行操作(printf("%d ", array[i])。

上面的代码翻译成python:

 

首先,array作为一个list是个容器,其次list这个内建类型有默认的next行为,python发现这些之后采取的秘密的没被各位看到的动作是:拿出array这丫容器的叠代器,从里面next一下把值给i供for循环主体处置,for把这个值print了。

现在的问题是数据可以做容器叠代,代码可以吗?

2. constructor

怎么把函数变成constructor?  在函数体里有yield就行了!

for i in gen():
    print i
</div>

各位!python看到gen函数里出现yield,知道可以用next了,问题是怎么对代码这个容器玩next?
从容器里拿到iterator的时候它还什么也不是,处在容器入口处,对于数组来说就是下标为-1的地方,对于函数来说就是函数入口嘛事没干,但是万事俱备就欠next。
开始for i in g,next让itreator爬行到yield语句存在的地方并返回值,
再次next就再爬到下一个yield语句存在的地方并返回值,依次这样直到函数返回(容器尽头)。
您一定看出来上面代码的输出是:
enter
1
next
2
next again

3. 使用yield
yield的代码叠代能力不但能打断函数执行还能记下断点处的数据,下次next书接上回,
这正是递归函数需要的。
例如中序遍历二叉树:
(应该是David Mertz写的)

</div>

您可能想查找下面的文章:

  • python生成式的send()方法(详解)
  • 浅析Python中yield关键词的作用与用法
  • 基于python yield机制的异步操作同步化编程模型
  • Python yield 使用浅析
  • Python yield 使用浅析
  • Python中生成器和yield语句的用法详解
  • 初步解析Python中的yield函数的用法
  • python通过yield实现数组全排列的方法
  • Python中的生成器和yield详细介绍
  • Python中的生成器和yield详细介绍

相关文章

  • Python实现快速排序和插入排序算法及自定义排序的示例
  • 收集的几个Python小技巧分享
  • 跟老齐学Python之Python文档
  • 详解python调度框架APScheduler使用
  • python利用拉链法实现字典方法示例
  • python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
  • Python实现统计文本文件字数的方法
  • python登录pop3邮件服务器接收邮件的方法
  • Python中实现三目运算的方法
  • 跟老齐学Python之让人欢喜让人忧的迭代

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python的Django框架安装全攻略
    • python处理文本文件并生成指定格式的文件
    • Python基于PycURL自动处理cookie的方法
    • python实现dict版图遍历示例
    • Python中有趣在__call__函数
    • 栈和队列数据结构的基本概念及其相关的Python实现
    • python 调用HBase的简单实例
    • 在Python的Django框架中获取单个对象数据的简单方法
    • 关于tf.nn.dynamic_rnn返回值详解
    • Python保存MongoDB上的文件到本地的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有