作用域的數字

如果將全局變量的名字聲明在一個函數體內的時候,全局變量的名字就能被局部變量給覆蓋掉。

>>> def foo():
    m=3
    def bar():
        n=4
        m=9
        print(m)
        print(m+n)
    print(m)
    bar()                    #這個bar函數輸出m和m+n,兩個參數使用的是局部變量

    
>>> foo()
3
9
13



雖然存在多個函數的嵌套,但你不能訪問超過兩個的作用域。(Python2.1之前存在這個問題,現在沒有了)

>>> def foo():
    m=3
    def bar():
        n=4
        print(m+n)
    print(m)
    bar()

    
>>> foo()
3
7


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章