这个:
def pop(self) -> tuple[Any, Stack]:
"""Pops from the stack, returning an (elem, updated stack) pair."""
从
pop()
方法返回更新后的堆栈以及顶部元素的原因是什么?
来自
Stack
类的文档字符串:“有界函数堆栈实现。”
函数式实现通常意味着使用纯函数。
pop
函数实现了两个纯函数属性:
这就是为什么它必须返回输入的(变异的)副本
Stack
而不是修改它。