【Python】局部变量和全局变量以及组合数据(列表)类型
生活随笔
收集整理的這篇文章主要介紹了
【Python】局部变量和全局变量以及组合数据(列表)类型
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
局部變量和全局變量是不同的變量
局部變量是函數(shù)內(nèi)部的占位符,與全局變量可能重名但不同。函數(shù)運算結(jié)束后,局部變量就會被釋放,它只是用于函數(shù)內(nèi)部運算,可以用global保留字在函數(shù)內(nèi)部使用全局變量
n,s = 10,100 df fact(n):s = 1 #若此處換作 global s 則聲明是全局變量s = 100for i in range(1,n+1):s *= ireturn s print(fact(n),s)fact()函數(shù)中s時局部變量,與全局變量s不同,函數(shù)中間通過運算獲得的s的值也是局部變量,所以最后一句打印出的s是當前的全局變量s,即最后運行結(jié)果是10!以及100。
局部變量為組合數(shù)據(jù)類型且未創(chuàng)建,等同于全局變量
ls = ["F","f"] df func(a):ls.append(a)return func("C") print(ls)第三行的ls是列表類型,未真實創(chuàng)建則等同于全局變量,意思是在ls這個列表中增加一個元素a,第五行調(diào)用func這個函數(shù),意思是我在ls這個列表中增加一個變量“C”,這段代碼的運行結(jié)果為:['F','f','C']
ls = ["F","f"] df func(a):ls=[]ls.append(a)return func("C") print(ls)再看這段代碼,我們在函數(shù)func中增加了一行 ls=[] ,真實的創(chuàng)建了這個ls列表,則這個程序的結(jié)果為:['F','f']
在python中,組合數(shù)據(jù)類型是用指針來體現(xiàn)的,所以函數(shù)中如果沒有真實創(chuàng)建組合數(shù)據(jù)類型,它使用的變量是使用的指針,而指針指的是外部的全局變量,所以你去修改這個指針對應的內(nèi)容,就修改了全局變量
總結(jié)
以上是生活随笔為你收集整理的【Python】局部变量和全局变量以及组合数据(列表)类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智慧城市板块上市公司 未来城市发展用的到
- 下一篇: 【Python】七段数码管绘制日期年月日