首页新闻招聘找找看知识库

Python next的问题

0
[待解决问题]

为什么 对foo()直接使用next方法 不会跳到下一个OK1 ,但是将foo()赋给变量g,对g使用next方法可跳到下一个OK1

程序鸢鼠鼠的主页 程序鸢鼠鼠 | 菜鸟二级 | 园豆:202
提问于:2018-05-17 13:09
< >
分享
所有回答(3)
1

问题描述不清楚,但是我猜你是想问为什么调用3次 next(foo()) 没有输出'ok1',那是因为 foo() 返回一个新的generator对象,这个对象每次next的时候就会停在下一个yield那里,如果不保存到变量里,而是每次生成一个新的对象,那么永远没有机会执行到第二个yield。

Uteki | 园豆:418 (菜鸟二级) | 2018-05-17 19:05

还是不太明白 为什么next(foo()) 会是返回一个新的generrator 而不是继续执行下一步  foo() 和 变量g 有什么区别呢? 

支持(0) 反对(0) 程序鸢鼠鼠 | 园豆:202 (菜鸟二级) | 2018-05-18 07:34
0

类和实例是同一个东西吗?

Masako | 园豆:686 (小虾三级) | 2018-05-18 09:24
0

你应该使用next(g),因为每一次函数返回的对象都不一样。

人道浮沉 | 园豆:248 (菜鸟二级) | 2018-05-19 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册