Python中yield使用方法

 时间:2024-10-31 13:05:08

1、打开Python开发工具IDLE,新建一个‘yield.py’文件,并写代码如下:def fun(): yield 1f = fun()print (f)

Python中yield使用方法

2、F5运行程序,shell中打印出内容如下:<generator object fun at 0x00000242522AE938>这是一个生成器对象

Python中yield使用方法

3、改写‘yield.py’文件,代码如下;def fun(): yield 1f = fun()for i in f: print (i)

Python中yield使用方法

4、F5运行程序,shell中打印出内容‘1’,这应该是最简单的生成器使用。

Python中yield使用方法

5、改写‘yield.py’文件,代码如下;def fun(): print('挢旗扦渌;hello' ) m = yield 1 #先不要管左边的m print(m) d = yield 2 #先不要管左边的d print('World!')c = fun()print(next(c))print(next(c))两个yield,用两个next()函数就行,第一个运行yield 1函数返回1后停止运行第二个运行到yield 2 停止运行。

Python中yield使用方法

6、F5运行程序,shell中打印出内容,其中打印的None其实就是我们m = yield 1中m的值,由于m没有被赋值,所以为None

Python中yield使用方法

7、改写‘yield.py’文件,代码如下;def fun(): print('挢旗扦渌;hello' ) m = yield 1 print(m) d = yield 2 print('World!')c = fun()ret1=next(c)print(ret1)ret2=c.send('Canshu')print(ret2)c.send()就是传值给 m = yield 1中的m,ret2接收yield产生的2。send也会触发程序进入到下一个yield

Python中yield使用方法

8、F5运行程序,shell中打印出内容,特别注意的是d我们不能传值了,因为后边的代码里没有yield了.

Python中yield使用方法

9、如果ret1=next(c)这里我们只想进入下一步也可以用ret1=c.send(None)触发。如果传入的参数不是None会报错

  • excel怎么换皮肤颜色
  • excel中使用vba来控制页面窗口滚动
  • vf6.0开发编制应用程序的步骤
  • Windows10系统 怎样设置在文件夹窗口下显示阴影
  • 怎样使用Visual Studio 2019 创建C#项目
  • 热门搜索
    帝豪gl怎么样 房屋漏水怎么办 扁豆怎么做好吃 qq炫舞怎么结婚 晚上睡觉出汗是怎么回事 性冷淡怎么治疗 孩子脾气暴躁怎么办 u盘进水了怎么办 怎么杀螃蟹 山西大同大学怎么样