当前位置: 首页 > 面试题库 >

Python: 举例说明 Generator?

孟俊发
2023-04-25

  生成器是一种返回可迭代对象的函数。 Generator 函数必须至少包含一个 yield 语句。 yield 是 Python 中的一个关键字,用于从函数返回值而不破坏其当前状态或对局部变量的引用。 带有 yield 关键字的函数称为生成器。

  生成器仅在被要求执行时生成一次项目。 它们的内存效率很高,占用的内存空间更少。

  初学者,可以把yield理解为return的另一种形式, 但是它不会停止函数的执行,而是返回一个值。

def fibon(limit):

    a,b = 0,1

    while a < limit:

        yield a

        a, b = b, a + b

for x in fibon(10):

    print(x) # 1 2 3 5 8 13 21 34 55 89
 类似资料:
  • 本文向大家介绍举例说明useState相关面试题,主要包含被问及举例说明useState时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍什么是stub?举例说明相关面试题,主要包含被问及什么是stub?举例说明时的应答技巧和注意事项,需要的朋友参考一下 stub用于模块的行为。测试时,stub可以为函数调用返回模拟的结果。比如说,我们写文件时,实际上并不需要真正去写。 Stub是用于模拟一个组件/模块的一个函数或程序。在测试用例中,Stub可以为函数调用提供封装的答案。 当然,你还可以在断言中指明Stub是如何被调用

  • 本文向大家介绍举例说明如何使用WebSQL?相关面试题,主要包含被问及举例说明如何使用WebSQL?时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍举例说明同步和异步相关面试题,主要包含被问及举例说明同步和异步时的应答技巧和注意事项,需要的朋友参考一下 考察点:线程 如果系统中存在临界资源(资源数量少于竞争资源的线程数量的资源),例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就必须进行同步存取(数据库操作中的排他锁就是最好的例子)。当应用程序在对象上调用了一个需要花费很长时间来

  •   FrozenSets 类似于集合,唯一的区别是它们是不可变的。   你可以随时修改 set 的元素,但 frozenset 一旦创建就无法修改。   这意味着不能在创建后执行添加、删除或更新任何元素。   frozenset 将可迭代对象作为输入并使它们不可变。由于冻结集是不可变的,因此它们可以作为字典中的键。

  • 本文向大家介绍举例说明clear取值有哪些?相关面试题,主要包含被问及举例说明clear取值有哪些?时的应答技巧和注意事项,需要的朋友参考一下 none 默认值。允许浮动元素出现在两侧。 left 在左侧不允许浮动元素。 right 在右侧不允许浮动元素。 both 在左右两侧均不允许浮动元素。 inherit 从父元素继承 clear 属性的值。