首页 > 编程语言 >python yield 会什么打印none?

python yield 会什么打印none?

时间:2022-10-31 11:45:16浏览次数:41  
标签:none python None yield next test import gen1

 

看一个小例子:

cat test.py

def gen1():
    for i in range(10):
        x = yield i
        print("x=%s" % x)

这段代码执行结果如下:

>>> import test as t
>>> g=t.gen1()
>>> next(g)
0
>>> next(g)
x=None
1
>>> next(g)
x=None
2
>>> next(g)
x=None
3

从例子可看出:

1.生成器方法的每次调用,执行到yield就结束了,并返回yield之后的值。

2.yield本身作为表达式,只返回None,所以x一直打印None

这导致一个疑问,如果我希望x记录上次的保留值需要怎么操作?

def gen3():
    for i in range(10):
        x = i
        yield i
        print("x=%s" % x)

这段代码的打印结果就变成了:

>>> import test as t
>>> g=t.gen3()
>>> next(g)
0
>>> next(g)
x=0
1
>>> next(g)
x=1
2
>>> next(g)
x=2
3

 

 

 

 

 

 

>>> import test as t>>> g=t.gen1()>>> next(g)0>>> next(g)x=None1>>> next(g)x=None2>>> next(g)x=None3

标签:none,python,None,yield,next,test,import,gen1
From: https://www.cnblogs.com/lynalee/p/16843761.html

相关文章

  • Python脚本IMAP登陆邮箱 搜索邮件
    功能:python脚本登陆邮箱查找指定邮件。  代码:#!/usr/bin/envpython#-*-coding:UTF-8-*-##pythontversion:3.8.8#导入模块importimaplib,string......
  • 使用 Python 语言批量改变多个文件夹下的多个图片的尺寸大小
    importglobimportosfromPILimportImage#1、获取文件夹名称path=r'H:\wordData\30train'dirnames=[fforfinos.listdir(path)ifos.path.isdir(path......
  • python文件
    文件什么是文件?文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口用户/应用程序:(f=open(),获取文件对象、文件句柄)操作系统:文件计算机硬件:硬盘......
  • python数据类型
    数值类型1.1整型int类型转换:int("10")10进制转为二进制:bin()10进制转为八进制:oct()10进制转为16进制:hex()二进制转为10进制:int("0b1011",2)八进制转为10进制:int......
  • 如何用 Python 来模拟概率
     小朋友问我一个问题,如何用Python来模拟概率. 题目是:从 [-2,-1,0,1,2,3]中随机选择两个不同的数,乘积为0的概率是多少?我搜索并思考了一下,得出以下......
  • 盘点一个高德地图Python网络爬虫中前端数据和获取数据不一致问题
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显......
  • Centos8 升级python3.6版本到python3.9
    下载Python3.9.51:wgethttps://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz2:tarzxvfPython-3.9.5.tgz安装必须的包3:dnf-yinstallgcczlib*libffi-dev......
  • Python程序暂停
    (39条消息)Python基础之程序暂停_zxnode的博客-CSDN博客_python暂停程序当我们执行某些程序时,由于机器速度很快导致肉眼无法直接看到执行结果时程序便停止运行。这时候我......
  • Python简单api实现
    flask作用及简单使用Flask的简单介绍及使用方法简介_珂鸣玉的博客-CSDN博客_flask 简单api搭建importflaskapi=flask.Flask(__name__)@api.route('/test1',......
  • python学习第五周总结
    正则表达式基础字符组特殊符号量词贪婪匹配和非贪婪匹配转义符re模块re模块补充说明第三方模块下载网络爬虫模块之requests模块hashlib加......