欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > Python 和 JavaScript 中 Yield 的区别

Python 和 JavaScript 中 Yield 的区别

2025/2/25 0:16:55 来源:https://blog.csdn.net/ouyangtianhan/article/details/145533948  浏览:    关键词:Python 和 JavaScript 中 Yield 的区别

Python 和 JavaScript 中 Yield 的区别

目录

  • Python 和 JavaScript 中 Yield 的区别
        • Python`yield`
        • JavaScript`yield`
        • Python`yield from`
        • JavaScript`yield*`

推荐超级课程:

  • Docker快速入门到精通
  • Kubernetes入门到大师通关课
  • AWS云服务快速入门实战
Pythonyield

在 Python 中,yield主要用于生成器函数。生成器函数是一个返回迭代器的特殊函数,yield可用于每次生成一个值。

def generator_example():yield 1yield 2yield 3gen = generator_example()
print(next(gen))  # 出力: 1
print(next(gen))  # 出力: 2
print(next(gen))  # 出力: 3
JavaScriptyield

在 JavaScript 中,yield用于function*使用以下定义的生成器函数中yield暂停生成器的执行并向调用者返回一个值。

function* generatorExample() {yield 1;yield 2;yield 3;
}const gen = generatorExample();
console.log(gen.next().value); // 出力: 1
console.log(gen.next().value); // 出力: 2
console.log(gen.next().value); // 出力: 3
Pythonyield from

在Python中yield from,它用于从其他生成器或可迭代对象中获取值。

def sub_generator():yield 1yield 2yield 3def main_generator():yield from sub_generator()yield 4gen = main_generator()
print(next(gen))  # 出力: 1
print(next(gen))  # 出力: 2
print(next(gen))  # 出力: 3
print(next(gen))  # 出力: 4
JavaScriptyield*

JavaScriptyield from没有与 Python 相同的功能,但yield*它有一个类似的关键字:这可以用于从其他生成器函数中获取值。

function* subGenerator() {yield 1;yield 2;yield 3;
}function* mainGenerator() {yield* subGenerator();yield 4;
}const gen = mainGenerator();
console.log(gen.next().value); // 出力: 1
console.log(gen.next().value); // 出力: 2
console.log(gen.next().value); // 出力: 3
console.log(gen.next().value); // 出力: 4

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词