python-迭代和递归
Posted Tiger
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-迭代和递归相关的知识,希望对你有一定的参考价值。
迭代:
1. 迭代协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration的异常,以终止迭代(只能往前走,不能回退)
2. 可迭代对象:实现了迭代协议的对象(如何实现:对象内部定义一个__iter__()方法 )
3.协议是一种约定,可迭代对象实现了迭代协议,python的内部工具for,sum,min,max函数使用迭代器访问对象。
递归:
自己调用自己
递归和迭代的通俗举例:
假设A 向甲,乙,丙,丁问路
递归:A 问 甲 xx地怎么去,甲 问 乙, 乙 问 丙,丙 问 丁。丁知道结果,开始返回。 丁 返回 丙,丙 返回 乙,乙 返回 甲,甲 返回 A.
迭代:A 问 甲 xx地怎么去,甲 回复 A 找 乙,乙 回复 A 找 丙,丙 回复 A 找 丁。丁反馈结果。
python中for循环机制:
字符串,列表,元祖,字典集合,文件对象 这些对象都是不是可迭代对象,只不过在for循环模式,调用了他们内部的__iter__()方法,把他们改变成了可迭代对象。
以上是关于python-迭代和递归的主要内容,如果未能解决你的问题,请参考以下文章