当前位置:  编程技术>python

python中的yield使用方法

    来源: 互联网  发布时间:2014-09-04

    本文导语:  今天在看其他同事的代码时,发现一个没使用过的python关键字 :yield       先问了一下同事,听他说了几句,有个模糊的印象,仅仅是模糊而已。于是自己去搜搜资料看。看了半天,逐渐清晰了。不过在工作机制以及应用上...

今天在看其他同事的代码时,发现一个没使用过的python关键字 :yield

      先问了一下同事,听他说了几句,有个模糊的印象,仅仅是模糊而已。于是自己去搜搜资料看。看了半天,逐渐清晰了。不过在工作机制以及应用上还是有点迷茫。嗯,先把初始接触的印象记下来吧。

      yield 简单说来就是一个生成器(Generator)。生成器是这样一个函数:它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。

      你看到某个函数包含了yield,这意味着这个函数已经是一个Generator,它的执行会和其他普通的函数有很多不同。

      可能看到这里还是迷迷糊糊,先看一些实例吧:

代码如下:

      def test( data_list ):

            for x in data_list:

                 yield x + 1

      data = [1,2,3,4]

      for y in test( data ):

           print y


      则输出结果为:

      2       3       4        5

      另外一种用法:

      handle = test(data)

      handle.next()     输出  2

      handle.next()     输出  3

      handle.next()     输出  4

      handle.next()     输出  5

      handle.next()     则会报错

      这只是 yield 的初步印象,接下来慢慢摸索吧。


    
 
 

您可能感兴趣的文章:

  • 使用setup.py安装python包和卸载python包的方法
  • Python开发的单词频率统计工具wordsworth使用方法
  • python回调函数的使用方法
  • Python的函数嵌套的使用方法
  • Python strip lstrip rstrip使用方法
  • python迭代器的使用方法实例
  • python sys模块sys.path使用方法示例
  • python基础教程之lambda表达式使用方法
  • 使用Python判断IP地址合法性的方法实例
  • c++生成dll使用python调用dll的方法
  • python基础教程之类class定义使用方法
  • 浅析python 内置字符串处理函数的使用方法
  • Python列表推导式的使用方法
  • python生成器的使用方法
  • 跨平台python异步回调机制实现和使用方法
  • Python中使用item()方法遍历字典的例子
  • Python使用函数默认值实现函数静态变量的方法
  • Python yield使用方法示例
  • python中使用urllib2伪造HTTP报头的2个方法
  • python解析模块(ConfigParser)使用方法
  • Python获取网页编码的方法及示例代码
  • 如何运行Python程序的方法
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • Python3实现生成随机密码的方法
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • python list 合并连接字符串的方法
  • Python实现多行注释的另类方法
  • Python判断变量是否已经定义的方法
  • python中定义结构体的方法
  • python字符串排序方法
  • 用Python脚本生成Android SALT扰码的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python不使用print而直接输出二进制字符串
  • python基础教程之python消息摘要算法使用示例
  • Python namedtuple(命名元组)使用实例
  • 使用python删除nginx缓存文件示例(python文件操作)
  • 如何使用linux下gdb来调试python程序
  • pycharm 使用心得(九)解决No Python interpreter selected的问题
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • linux系统使用python获取内存使用信息脚本分享
  • 在Python中使用SWIG调用C和C++程序
  • 使用python Django做网页
  • juqery的python实现:pyquery学习使用教程
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • numpy官方下载安装以及numpy详细使用教程(Python科学计算)
  • Python数组条件过滤filter函数使用示例
  • python使用循环实现批量创建文件夹示例
  • Python pass 语句使用示例
  • 在python中的socket模块使用代理实例
  • linux系统使用python监控apache服务器进程脚本分享
  • Python splitlines使用技巧
  • 新手使用ubuntu安装python和jdk不能,急求解~!!
  • python命令行参数sys.argv使用示例
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • Python开发者社区整站源码 Pythoner
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python读取csv文件示例(python操作csv)
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • 新手该如何学python怎么学好python?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3