python使用生成器实现可迭代对象


Posted in Python onMarch 20, 2018

本文实例为大家分享了python使用生成器实现可迭代对象的具体代码,供大家参考,具体内容如下

案例分析:      

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

              pn = Number(1, 30)

              for k in pn:

                     print(k)

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

如何解决这个问题?

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

#!/usr/bin/python3
 
 
class 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 相关文章推荐
python解析xml文件实例分享
Dec 04 Python
跟老齐学Python之大话题小函数(1)
Oct 10 Python
Python+matplotlib实现华丽的文本框演示代码
Jan 22 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
10个Python小技巧你值得拥有
Sep 29 Python
基于python指定包的安装路径方法
Oct 27 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
解决Django中调用keras的模型出现的问题
Aug 07 Python
如何在django中运行scrapy框架
Apr 22 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 Python
浅谈Python中的作用域规则和闭包
Mar 20 #Python
python如何实现反向迭代
Mar 20 #Python
python利用高阶函数实现剪枝函数
Mar 20 #Python
python flask中静态文件的管理方法
Mar 20 #Python
python web基础之加载静态文件实例
Mar 20 #Python
python如何修改装饰器中参数
Mar 20 #Python
python MySQLdb使用教程详解
Mar 20 #Python
You might like
解决GD中文乱码问题
2007/02/14 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
PHP的PDO连接讲解
2019/01/24 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python中的字典详细介绍
2014/09/18 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
python实现一组典型数据格式转换
2018/12/15 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
18岁生日感言
2014/01/12 职场文书
公司离职证明范本
2014/01/13 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
单位活动策划方案
2014/08/17 职场文书
工商局个人工作总结
2015/03/03 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
goland设置颜色和字体的操作
2021/05/05 Golang
css3 选择器
2022/05/11 HTML / CSS