Python nonlocal statement

前端 未结 9 1057
我在风中等你
我在风中等你 2020-11-22 03:52

What does the Python nonlocal statement do (in Python 3.0 and later)?

There\'s no documentation on the official Python website and help(\"nonloca

9条回答
  •  花落未央
    2020-11-22 04:35

    a = 0    #1. global variable with respect to every function in program
    
    def f():
        a = 0          #2. nonlocal with respect to function g
        def g():
            nonlocal a
            a=a+1
            print("The value of 'a' using nonlocal is ", a)
        def h():
            global a               #3. using global variable
            a=a+5
            print("The value of a using global is ", a)
        def i():
            a = 0              #4. variable separated from all others
            print("The value of 'a' inside a function is ", a)
    
        g()
        h()
        i()
    print("The value of 'a' global before any function", a)
    f()
    print("The value of 'a' global after using function f ", a)
    

提交回复
热议问题