Discuss / Python / 交作业

交作业

Topic source

def f():
L=[0]
def counter(): L[0]=L[0]+1
return L[0]
return counter

最后一行不小心多了一个缩进?

asade69552

#3 Created at ... [Delete] [Delete and Lock User]

a=f(),多次执行a(),依次输出1,2,3,4,5,为什么每一次 L[0]会发生改变,不是每次调用都要执行L=[0]?

因为我定义的L=[0]是一个list,它的值是可以改变的,每次执行counter()的时候,它的值递增1,即返回给f()的值递增1


  • 1

Reply