python中的全局变量与局部变量
生活随笔
收集整理的這篇文章主要介紹了
python中的全局变量与局部变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
全局變量與局部變量兩者的本質區別就是在于作用域,全局變量即在整個程序中,任何地方都可以訪問。而局部變量,試著在函數內部聲明的變量,當函數運行結束時,局部變量就會被內存釋放。
例子:
1 name='zs' 2 def change(): 3 name='ls' 4 change() 5 print(name) #輸出為:’zs' 函數內的name是一個局部變量,函數運行結束即消失如果要修改全局變量,要在函數內部用關鍵字global聲明。
1 name='zs' 2 def change(): 3 global name 4 name='ls' 5 change() 6 print(name) #輸出為 ls其實局部變量是有層次的,如果出現函數的嵌套,內層函數想調用外層的變量是,是不能用global聲明的,因為外層的變量不叫全局變量。這時候如果想修改外層的變量,就得用到一個新的關鍵字:nonlocal??
?
#強行使用global變量會報錯,下面代碼可以自己運行試試def fun():a = 3def fun2():global aa*= 2print(a)return fun2() fun()?
?如果使用nonlocal就可以完美解決:
1 def fun(): 2 a = 3 3 4 def fun2(): 5 nonlocal a 6 a*= 2 7 print(a) 8 9 return fun2() 10 fun() #輸出 6?
轉載于:https://www.cnblogs.com/linshuhui/p/8977756.html
總結
以上是生活随笔為你收集整理的python中的全局变量与局部变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简要描述cookie和session的区
- 下一篇: Python3学习笔记——类