我对 get() 函数的工作原理感到困惑。它如何读取以前的值?这些值是否存储在 f 函数中?如何?
def nonlocalist():
get = lambda x:'Index out of range!'
def prepend(value):
nonlocal get
f = get
def get(i):
if i == 0:
return value
return f(i - 1)
return prepend, lambda x: get(x)
prepend, get = nonlocalist()
prepend(2)
prepend(3)
prepend(4)
get(2)