zoukankan      html  css  js  c++  java
  • python之迭代器

    看了小甲鱼的视频,对迭代器有一些了解,在斐波那契数列上犯了个小错误,导致半天都没转过弯,特此记录

    迭代
    迭代类似与循环每一次重复的过程就称为迭代的过程,而每一次迭代的结果将
    作为下一次迭代的初始值,提供迭代方法的容器,称之为迭代器
    序列,列表,元组,字符串可以称之为容器,每次一次从容器中拿出数据的过程
    称之为迭代操作

    迭代操作,BIF  
    iter()
    魔法方法__iter__() 返回自身
    next()
    __next__() 决定迭代的规则

    #coding:utf-8
    
    class Fibs:
        def __init__(self, n=10):
            self.a = 0
            self.b = 1
            self.n = n
        def __iter__(self):
            return self
        def __next__(self):
            self.a, self.b = self.b, self.a + self.b
            if self.a > self.n:
                raise StopIteration
            return self.a
    #第一次a = 0 b = 1
    #当运行到next魔法方法时先执行b的值给a,故a = 1 此时b = a+b =1
    #第二次因赋值语句在前,a得到的是第一次运行时候a+b的值,所以a = 1      
    fibs = Fibs()
    for each in fibs:
      
            print(each)
       

    END!

  • 相关阅读:
    2015第14周四
    2015第14周三
    2015第14周二
    2015第14周一
    2015第13周日
    2015第13周六
    2015第13周五
    2015第13周四
    2015第13周三
    2015第13周二
  • 原文地址:https://www.cnblogs.com/changbo/p/5637836.html
Copyright © 2011-2022 走看看