zoukankan      html  css  js  c++  java
  • 迭代器协议和for循环工作机制

    一、递归和迭代

    举个例子

    递归:假如我去问路,路人甲看我长得盛世容颜,但是他不知道,他就去帮我问路人乙去了,路人乙跟路人甲说我也不知道,但一看路人甲美若天仙,就说,我去帮你问问路人丙,。。。完了可能得到答案

    迭代:依然是问路,我去问路人甲,路人甲一看我长得车祸现场,就说我不知道,你去问问路人乙去吧。。。

    二、什么是迭代器协议?

    1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中得下一项,要么引起一个stoplteration异常,以终止迭代

    2.可迭代对象:实现了迭代器协议的对象,

    3.迭代是一种约定。可迭代对象实现了迭代器协议,python的内置工具如for循环,max,min,sum。等函数,使用迭代器对象访问

    三、python中强大的for循环机制

    # x='hello'
    # # print(dir(x))
    # iter_test=x.__iter__()
    #
    # print(iter_test)
    # print(iter_test.__next__())
    # print(iter_test.__next__())
    # print(iter_test.__next__())
    # print(iter_test.__next__())
    # print(iter_test.__next__())
    # print(iter_test.__next__())
    
    # l=[1,2,3]
    # for i in l:  #i_l=l.__iter_()  i_l.__next__()
    #     print(i)
    
  • 相关阅读:
    uva 147 Dollars
    hdu 2069 Coin Change(完全背包)
    hdu 1708 Fibonacci String
    hdu 1568 Fibonacci
    hdu 1316 How Many Fibs?
    poj 1958 Strange Towers of Hanoi
    poj 3601Tower of Hanoi
    poj 3572 Hanoi Tower
    poj 1920 Towers of Hanoi
    筛选法——素数打表
  • 原文地址:https://www.cnblogs.com/charon2/p/10388836.html
Copyright © 2011-2022 走看看