>  Q&A  >  본문

python - 不理解函数作用域

def f(p, k):
    def g():
        print(k)
    if k == 0:
        f(g, 1)
    else:
        p()
f(None, 0)

我觉得在f(None, 0)执行后,执行到f(g, 1)k应该是1,但为什么执行还是0.

PHP中文网PHP中文网2741일 전361

모든 응답(1)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-18 10:33:01

    이것은 종료되어야 하며 이 기능을 변경할 수 있습니다

    으아악

    이렇게 하면 이해하기 쉬울까요?
    파이썬 클로저에 대한 자세한 설명은 하단에서 클로저의 원리를 설명하는 이 블로그를 읽어보세요

    회신하다
    0
  • 취소회신하다