很明显,迭代器对象X,方法:
X.next()巨蟒2.x
X.__next__()巨蟒3.x
不是引用透明的,因为每个调用都返回不同的结果。
但是,我只需要确认我是对的。谢谢。

最佳答案

你说得对,迭代器可以在每次调用时返回不同的结果,因此不能将其称为引用透明的。
然而,使用iterable的聚合操作可以是引用透明的,即使各个步骤不是。例如,list('cat')是确定性的和引用透明的事件,尽管list的实现在字符串迭代器上重复进行下一次调用。

关于python - 下一个方法对于python迭代器是否是参照透明的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10569251/

10-11 14:18