1.局部變量
- 局部變量官份,就是在 函數(shù)內(nèi)部定義的變量
- 不同的函數(shù),可以定義相同的名字的局部變量助琐,但是各用個(gè)的不會(huì)產(chǎn)生影響
- 局部變量的作用域只在函數(shù)內(nèi)部
- 局部變量的目的是 存儲(chǔ)需要臨時(shí)保存的數(shù)據(jù)
1.如果函數(shù)內(nèi)部想要去修改形參的值,是改不了,反而是定義了一個(gè)新的句部變量
2.形參 不要和 局部變量/全局變量同名, 如果同名,函數(shù)內(nèi)部?jī)?yōu)先用局部變量,外部用全部變量
def func1(): # 形參 不要和 局部變量/全局變量同名
a = 10 # 如果函數(shù)內(nèi)部想要去修改形參的值,是改不了,反而是定義了一個(gè)新的句部變量
print(a)
func1()
# 函數(shù)中的兩個(gè)局部變量雖然同名祭埂,但互不影響
def test1():
a = 10
print("%d" % a)
def test2():
a = 5
print("%d" % a)
test1()
test2()
2.全局變量
2.1 概念
在函數(shù)外邊定義的變量叫做 全局變量
-
全局變量能夠在所有的函數(shù)中進(jìn)行訪問
1.在函數(shù)內(nèi)部賦值,默認(rèn)都是定義一個(gè)新的局部變量
2.局部變量和全局變量不要同名定義全局變量
a = 100
def test1():
print(a)def test2():
print(a)調(diào)用函數(shù)
test1()
test2()
3.函數(shù)內(nèi)修改全局變量
a = 10
def test():
a = 5
print("函數(shù)內(nèi)a:%d" %a)
test()
print("函數(shù)外a:%d" %a)
函數(shù)內(nèi)賦值變量 時(shí),默認(rèn)為定義并賦值局部變量兵钮,賦值后獲取的也是局部變量的值
如果在函數(shù)中內(nèi)部想要 = 給全局變量重新賦值的時(shí)候,那么就需要使用global進(jìn)行聲明
-
能不用global 就盡量不要去用 global
a = 10
def test():
global a
a = 5 # 修改全局變量
print("函數(shù)內(nèi)a:%d" %a)test()
print("函數(shù)外a:%d" %a)a = 10
def func():global a # 如果在函數(shù)中內(nèi)部想要 = 給全局變量重新賦值的時(shí)候,那么就需要使用global進(jìn)行聲明 a = 5
func()
print(a)