Python3基础 生成一个可以使用for循环可迭代的类,具有__iter__和__next__的方法的类
2017-01-22 14:45
477 查看
镇场诗:
清心感悟智慧语,不着世间名与利。学水处下纳百川,舍尽贡高我慢意。
学有小成返哺根,愿铸一良心博客。诚心于此写经验,愿见文者得启发。
——————————————————————————————————————————
code:
result:
——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。
清心感悟智慧语,不着世间名与利。学水处下纳百川,舍尽贡高我慢意。
学有小成返哺根,愿铸一良心博客。诚心于此写经验,愿见文者得启发。
——————————————————————————————————————————
code:
#小甲鱼Python中的代码,我觉得很有用。但是自己又写不出来,就先把他存下来 #这个代码的作用是生成斐波那契数列 class Fibs : def __init__(self,maxNum=20) : self.a=0 self.b=1 self.maxNum=maxNum def __iter__(self) : return self def __next__(self) : self.a,self.b=self.b,self.a+self.b if self.a > self.maxNum : raise StopIteration #升起了这个异常,for循环就会退出 return self.a val=Fibs() for each in val : #for语句会触发val的iter(),然后是next(),等待StopIteration异常退出for循环 print(each)
result:
============= RESTART: C:/Users/Administrator/Desktop/MyCode.py ============= 1 1 2 3 5 8 13 >>>
——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。
相关文章推荐
- 一个网友写的栈,问为啥不能迭代。具有__iter__ 和next方法的对象叫迭代器-七七巴巴黄页网
- 迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现了__iter__方法的对象是可迭代的,实现了next()方法的对象是迭代器,这样说起来有
- Python3 Tkinter基础 Checkbutton 使用for循环生成多个 anchor=W 西对齐
- python :使用 __getitem__ 和 __iter__ 可以使类成为一个迭代器
- python 9-1 如何使用函数装饰器,定义函数装饰器,用来生成一个原函数基础添加新功能的函数,替代原函数
- java基础问题---java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- Python3基础 __str__ print一个类的实例对象的时候 使用的魔法方法
- 使用python Tkinter制作一个可以生成重复文本片段的小工具
- 定义一个“点”(Point)类用来表示三维空间中的点(有三个坐标)。要求如下: (1)可以生成具有特定坐标的点对象。 (2)提供可以设置三个坐标的方法。 (3)提供可以计算该“点”距原点距离平方的方法。 (4)编写主类程序验证。
- 细聊分布式ID生成方法的实现(一个可以使用10年的序列生成器)
- Python3基础 iter()与next() 进行迭代时超出了范围 产生StopIteration异常
- 迭代器-迭代对象-dir(a)可以查看该数据类型有多少种方法。range(10)在py3里就是一个迭代器,for循环实际就是迭代器的应用
- 有数据库apps权限,但是没有oracle EBS 帐户, 可以用以下方法建立一个用户使用:
- 【转】python直接生成exe的方法(使用py2exe)
- python多文件使用同一个全局变量的定义和使用方法
- 在一个方法里生成了一个自动释放的数组,在另一个方法里使用它会导致程序崩溃。
- thinkphp中使用PHPExcel生成文件的一个通用方法!
- 10_9_4编写一个类MyCopyableClass,该类可以使用方法GetCopy()返回它本身的一个副本.这个方法应使派生与System.Object的MemberwiseClose()方法.该类
- Python中list的append方法添加,和使用下标取得。之中的元素还可以是其他的数据结构
- C#第2次试验(1).创建一个抽象类A,该类中包含一个求两个数之和抽象方法。创建一个子类B,在B中重写求和方法,且使用方法重载使得方法可以分别计算整数、双精度、字符串。