python中局部變量和全局變量
局部變量,就是在函數內部定義的變量
不同的函數,可以定義相同的名字的局部變量,但是各用個的不會產生影響
局部變量的作用,為了臨時保存數據需要在函數
在函數外邊定義的變量叫做全局變量
全局變量能夠在所有的函數中進行訪問
如果在函數中修改全局變量,那麽就需要使用global進行聲明,否則出錯
如果全局變量的名字和局部變量的名字相同,那麽使用的是局部變量的
-
局部變量:
局部變量,就是在函數內部定義的變量
不同的函數,可以定義相同的名字的局部變量,但是各用個的不會產生影響
局部變量的作用,為了臨時保存數據需要在函數中定義變量來進行存儲,這就是它的作用
1 def test1():
2 a=111
3 print("a=%d"%a)
4 b=222
5 print("b=%d"%b)
6
7 def test2():
8 c=333
9 print("c=%d"%c)
-
全局變量
如果一個變量,既能在一個函數中使用,也能在其他的函數中使用,這樣的變量就是全局變量
1 a=200
2 def test1():
3 print(a)
4
5 def test2():
6 print(a)
7
8 test1()
9 test2()
-
全局變量和局部變量名字相同問題
#定義全局變量
a=200
def test1():
a=300
print("test1...修改前a=%d"%a)
a=400
print("test1...修改後a=%d"%a)
def test2():
print("test2....a=%d"%a)
test1()
test2()~
-
修改全局變量
既然全局變量,就是能夠在所以的函數中進行使用,那麽可否進行修改呢?
答案是可以的,我們可以使用global
-
總結:
在函數外邊定義的變量叫做全局變量
全局變量能夠在所有的函數中進行訪問
如果在函數中修改全局變量,那麽就需要使用global進行聲明,否則出錯
如果全局變量的名字和局部變量的名字相同,那麽使用的是局部變量的
-
可變類型的全局變量
~在函數中不使用global聲明全局變量時不能修改全局變量的本質是不能修改全 局變量的指向,即不能將全局變量指向新的數據。
~對於不可變類型的全局變量來說,因其指向的數據不能修改,所以不使用glob al時無法修改全局變量。
~對於可變類型的全局變量來說,因其指向的數據可以修改,所以不使用global 時也可修改全局變量
來源:https://jingyan.baidu.com/article/c35dbcb097a97e8916fcbcdf.html
python中局部變量和全局變量