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文件实例分析
May 27 Python
python实现文件路径和url相互转换的方法
Jul 06 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
pyqt5简介及安装方法介绍
Jan 31 Python
python对离散变量的one-hot编码方法
Jul 11 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
python快速排序的实现及运行时间比较
Nov 22 Python
python实现高斯投影正反算方式
Jan 17 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
Apr 21 Python
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
Apr 13 Python
Django中session进行权限管理的使用
Jul 09 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
php AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
js实现登录与注册界面
2017/11/01 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
Python深入学习之闭包
2014/08/31 Python
Python语言描述最大连续子序列和
2017/12/05 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
浅谈python标准库--functools.partial
2019/03/13 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python使用configparser库读取配置文件
2020/02/22 Python
苹果美国官方商城:Apple美国
2016/08/24 全球购物
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
快递业务员岗位职责
2014/01/06 职场文书
大学生就业策划书范文
2014/04/04 职场文书
百日安全活动总结
2014/05/04 职场文书
门店业绩提升方案
2014/06/08 职场文书
爱护公共设施标语
2014/06/24 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
工作收入证明范本
2015/06/12 职场文书
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android