首页 > 其他分享 >yield关键字

yield关键字

时间:2024-12-08 13:23:07浏览次数:7  
标签:迭代 生成器 yield next 关键字 测试 print

'''
yield关键字:
    yield是Python中一个特殊的关键字。它就是生成器
    迭代其实就是循环的概念:
        1.可迭代对象:可以通过循环来实现操作的对象。
        2.迭代器:属于可迭代对象,一次只能取一个值,一直取值到全部取完为止。(程序终结为止)
        3.生成器:是特殊的迭代器,只能通过yield来声明。
        yield关键字只能用在函数或者方法之中。
        yield类似于return关键字。都属于返回数据。return调用函数终止运行。yield调用后,
        一次只生成一个值,一直到值生成完位置。在运行期间,处于挂起状态,随时调用随时获取。

'''


# 可迭代对象
# s = 'poinkjehhsadfoian'

# for i in s:
#     print(i)

# 迭代器:readline()就是标准的迭代器的形态。
# 自定义的迭代器实现:只有可迭代对象 ,才可以转为迭代器
# print(type(s))

# for i in it:
#     print(i)

# print(next(it))  # next()读取迭代器中的值,每次读取一个值,类似于file.readline().只能用于迭代器使用
# print(next(it))
# print(next(it))

# 生成器
# def func():
#     for i in range(0, 10):
#         # return i  #return调用后,函数终止运行,只会返回0
#         yield i #yield执行一次后,处于挂起状态,后续调用时继续产生数据。一直到生成器结束。



# f = func()  # 调用函数,获取生成器
# print(next(f))  # 基于next获取生成器返回值
# print(next(f))
# print(next(f))
# print(next(f))


'''
基于yield猜想操作文件的源码:
    def readlines():
        for line in file.readlines():
            yield line
'''

'''
    测试流程
    1. 测试初始化
    2. 执行测试
    3. 测试收尾结束
'''

def func():
    #测试前
    print('函数中的测试初始化')
    data = '函数产生的测试数据'

    # 测试中
    yield data #将测试数据提取,交由实际测试执行

    # 测试后
    print('函数中的测试结束')

print('测试开始')
# f = func()
func()
# print('测试执行中')
# print(next(f))
# print('测试结束')
# print(next(f))

 

标签:迭代,生成器,yield,next,关键字,测试,print
From: https://www.cnblogs.com/mafei666/p/18593309

相关文章

  • Day43--this关键字
    Day43--this关键字在Java中,this关键字是一个引用变量,它指向当前对象。换句话说,this关键字表示当前正在执行方法或构造函数的对象。this关键字主要有以下用途:区分实例变量和局部变量当方法或构造函数的参数名称与实例变量相同时,可以使用this关键字来区分它们。在这种情况下......
  • C语言之static关键字
    一、对变量使用static关键字1、对全局变量使用static当全局变量被static关键字修饰时,表示该变量只能在本文件中使用示例: 可以看到我在b.c文件中引用了全局变量g_var1可以正常输出,但是如果我在b.c文件中引用被static修饰的变量g_var就会提示未定义了,所以当static修饰全局变量......
  • return和global关键字
    '''return关键字:1.函数默认没有返回值2.函数执行return之后,会停止运行3.函数是否有return结果,与print无关系,能够在控制台打印,不代表就有返回值。我们只看是否有return关键字'''#defdemo(a):#returna+10##defdemo_no():#pass##print(dem......
  • 带有多选和突出显示关键字的自定义下拉选择框(动态)
    本文是在上一篇的基础上改造成根据输入关键词动态筛选选项列表,然后实现多项选择并且关键词高亮。上一篇:带有多选和突出显示关键字的自定义下拉选择框(静态)>>带有多选和突出显示关键字的自定义下拉选择框:CustomDropdownSelectBoxwithMultipleSelectionandHighlighting......
  • 带有多选和突出显示关键字的自定义下拉选择框(静态)
    带有多选和突出显示关键字的自定义下拉选择框:CustomDropdownSelectBoxwithMultipleSelectionandHighlightingKeywords:不使用select元素,用div、ul、li、span元素实现带有多选和突出显示关键字的自定义下拉选择框。完整控件包含三部分:第一步用div模拟select选择框,ul+l......
  • 整型关键字的平方探测法散列 陈越
    #include<bits/stdc++.h>usingnamespacestd;map<int,int>bj;intp[30050];//埃筛法求voidgetprime(){ for(inti=1;i<=30050;i++)p[i]=1; p[0]=p[1]=0; for(inti=2;i<=30050;i++)if(p[i]==1)for(intj=2*i;j......
  • 【嵌入式C语言】常用关键字及运算符操作
    常用关键字及运算符操作关键字杂项sizeofreturn数据类型charint进制表示long、shortunsigned,signedfloat、doublevoid自定义数据类型structunionenumtypedef逻辑结构类型修饰符【重点】掌握C语言的常用关键字及其应用场景,使用技巧掌握位运算的典型操作掌握常用......
  • 《 C++ 点滴漫谈: 三 》穿越代码的迷雾:C++ 关键字的应用与未来
    摘要这篇博客深入探讨了C++语言中的所有关键字,涵盖了它们的作用、使用场景及其在编程中的重要性。从基础的控制流关键字到现代C++引入的关键字扩展,每个关键字都进行了详细解析。博客还展示了C++关键字的实际应用,帮助读者理解如何有效地运用它们来编写高效、清晰的代......
  • # vue 实现关键字高亮效果
    vue实现关键字高亮效果这是啥子意思呢,就是类似于百度搜索,根据关键词搜索结果,搜索结果中,与关键词相同的字显示红色,仅此而已,没有什么大的功能。简单写一下demo。环境我使用的是vue3+ts的语法来写,其实一个样儿,关键代码js、ts都可以,就一个方法,调用一下就可以了。<templat......
  • final关键字
    是什么用来修饰类字段方法变量等是不可变的意思,修饰后是常量变量被final修饰的变量不可更改其引用地址,但是可以更改其内部属性。方法把方法锁定,以防止任何继承类修改它的含义,这是出于设计的考虑:想要确保在继承中使方法的行为保持不变,并且不会被覆盖。类final修饰......