python实现用生成器实现可迭代对象的方法

本文主要为大家详细介绍了python如何使用生成器实现迭代对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

案例分析:      

        实一个可迭代对象的类,它能迭代出给定范围内所有的素数:

              pn = Number(1, 30)

              for k in pn:

立即学习“Python免费学习笔记(深入)”;

                     print(k)

       结果为:2,3,5,7,11,13,17,19,23,29

如何解决这个问题?

将该类的__iter__方法实现成生成器函数,每次yield返回一个素数

#!/usr/bin/python3class Number(object): def __init__(self, start, end):  self.start = start  self.end = end    # 判断一个数字是否是素数 def get_num(self, k):  if k >= 2:   for i in range(2, k):    if k % i == 0:     return False   return True   def __iter__(self):  for k in range(self.start, self.end+1):   if self.get_num(k):    # 是素数yield出去    yield k     if __name__ == '__main__': num = Number(2, 30) for i in num:  print(i)

登录后复制

以上就是python实现用生成器实现可迭代对象的方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2265507.html

(0)
上一篇 2025年2月27日 08:45:14
下一篇 2025年1月4日 01:42:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python中高阶函数实现剪枝函数的方法

    本文主要为大家详细介绍了python利用高阶函数实现剪枝函数的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 案例:        某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志,缓存运算…

    编程技术 2025年2月27日
    200
  • python之yeild的定义及使用方法

    yeild简单来说就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。 生成器是一个函数 函数所有的参数都会保留 第二次调用此函…

    编程技术 2025年2月27日
    200
  • Python之爬取其他网页

    本文主要为大家分享一篇Python之爬取其他网页的请求方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。 简单的说就是寻找网页中的超链接‘href’,之后将相对网址转变为绝对网址,在用for循环访问他 …

    编程技术 2025年2月27日
    200
  • 如何完整写一个爬虫框架

    本文主要为大家分享一篇如何完整写一个爬虫框架的请求方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。 产生爬虫框架: 1、建立一个scrapy爬虫工程 2、在工程中产生一个scrapy爬虫 3、配置sp…

    2025年2月27日 编程技术
    200
  • python操作文件方法

    本文主要和大家介绍了python操作文件,以及简单的复制备份. 希望能帮助到大家。 1.open函数 python中一切皆对象,所以正常我们打开一个文件的过程是 1.选中文件-打开文件-编辑,复制,删除等操作-关闭文件 放到python中用…

    编程技术 2025年2月27日
    200
  • Linux环境使用pdb调试python的方法

    pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令。        pd…

    编程技术 2025年2月27日
    200
  • vscode无法调试python怎么解决

    本文主要和大家分享vscode无法调试python怎么解决,希望能帮助到大家。 vscode无法调试python问题 提示调试适配器出错 1、保证已安装python调试插件,并升级到最新版本。 2、查看Python版本,升级到最新版本。 3…

    编程技术 2025年2月27日
    200
  • Python语法基础详解

    本文主要和大家分享python语法基础详解,希望能帮助到大家。 Python注释 ”’多行注释”’井号单行注释 登录后复制 python2在文件中存在中文的情况下,必须加以理(两种方式) 在文件头加上#coding=utf-8 在文件头…

    编程技术 2025年2月27日
    200
  • python编程的一些习惯

    本文主要和大家分享python编程的一些习惯,主要以代码的方式和大家讲解,希望能帮助到大家。 1、写好程序文档(格式、自动缩进(vim设置行宽和autoindent)、注释)如下形式: 2、尽量精简代码: 如     可以写成: retur…

    2025年2月27日
    100
  • python动态爬虫的实例分享

    本文主要和大家分享python动态爬虫的实例分享,用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字。如下所示: #encoding=utf-8 登录后复制 imp…

    2025年2月27日 编程技术
    200

发表回复

登录后才能评论