Discuss / Python / 作业

作业

Topic source

def createCounter():

    x = 0

    def counter():

        nonlocal x#这里nonlocal声明之后,x的地址和前边x=0是一样的

        x += 1

        return x

    return counter

#每次调用createCounter函数时,才会从x=0处开始执行,即x的值才会被覆盖

#counterA = createCounter()之后,每次调用counterA实际上就是调用counter函数,只进行counter内部的内容,x不会被X=0覆盖


  • 1

Reply