python中的全局变量与局部变量
生活随笔
收集整理的這篇文章主要介紹了
python中的全局变量与局部变量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
全局變量與局部變量兩者的本質(zhì)區(qū)別就是在于作用域,全局變量即在整個程序中,任何地方都可以訪問。而局部變量,試著在函數(shù)內(nèi)部聲明的變量,當函數(shù)運行結(jié)束時,局部變量就會被內(nèi)存釋放。
例子:
1 name='zs' 2 def change(): 3 name='ls' 4 change() 5 print(name) #輸出為:’zs' 函數(shù)內(nèi)的name是一個局部變量,函數(shù)運行結(jié)束即消失如果要修改全局變量,要在函數(shù)內(nèi)部用關鍵字global聲明。
1 name='zs' 2 def change(): 3 global name 4 name='ls' 5 change() 6 print(name) #輸出為 ls其實局部變量是有層次的,如果出現(xiàn)函數(shù)的嵌套,內(nèi)層函數(shù)想調(diào)用外層的變量是,是不能用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?
轉(zhuǎn)載于:https://www.cnblogs.com/linshuhui/p/8977756.html
總結(jié)
以上是生活随笔為你收集整理的python中的全局变量与局部变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简要描述cookie和session的区
- 下一篇: node 微信授权 获取openid