下一个方法对python迭代器是透明的吗?
在我看来,迭代器对象下一个方法对python迭代器是透明的吗?,python,functional-programming,Python,Functional Programming,在我看来,迭代器对象X,方法: X.next()Python2.X X.\uuuuu next\uuuuuu()python3.X 不是引用透明的,因为每次调用都返回不同的结果。 但是,我只需要确认我是正确的。谢谢。它的引用透明性与X所允许的一样。方法本身不会改变透明度,但iterable可以是简单的,也可以是复杂的。您是对的,迭代器可以在每次调用时返回不同的结果,因此不能以引用透明的方式调用它 然而,使用iterable的聚合操作可以是引用透明的,即使单个步骤不是。例如,list('cat
X
,方法:
Python2.XX.next()
python3.XX.\uuuuu next\uuuuuu()
但是,我只需要确认我是正确的。谢谢。它的引用透明性与
X
所允许的一样。方法本身不会改变透明度,但iterable可以是简单的,也可以是复杂的。您是对的,迭代器可以在每次调用时返回不同的结果,因此不能以引用透明的方式调用它
然而,使用iterable的聚合操作可以是引用透明的,即使单个步骤不是。例如,list('cat')
是确定性和引用透明的,即使list的实现在字符串迭代器上重复进行下一次调用