區域性變數 區域性變數的作用範圍為函式內部
1deftest1():
2 a = 200 #
區域性變數只能在該函式中使用(它的作用範圍在該函式裡面)
3 a+=1
4print('
a的值為%s
'%a)56
test1()
7print
(a)8
#nameerror: name 'a' is not defined
全域性變數與區域性變數全域性變數能在後面的**中使用
a = 400deftest1():
a = 200 #
區域性變數只能在該函式中使用(它的作用範圍在該函式裡面)
a+=1
print('
a的值為%s
'%a)
deftest2():
#a = 300 注意這裡的a+=1出現會報錯,因為區域性變數a在引用前沒有被定義
print('
a的值為%s
'%a)
test1()
#a的值為201
print(a)#
400test2() #
a的值為400 全域性變數,可以在後面的**中使用
全域性變數與區域性變數在引數傳遞中的存在的問題1 a=400
2def
test1():
3 a = 200 #
區域性變數只能在該函式中使用(它的作用範圍在該函式裡面)
4 a+=1
5print('
a的值為%s
'%a)
return a
7def
test2(a):8#
a = 300910
print('
test2a的值為%s
'%a)
1112 b=test1()#此時b輸出結果為:a的值為201
13test2(b)#此時報錯test2() missing 1 required positional argument: 'a',因此需要在test1中返回a
14print
(a)
a=4002 deftest1():
3 a = 200 #區域性變數只能在該函式中使用(它的作用範圍在該函式裡面)
4 a+=1
5 print('a的值為%s'%a)
return a7 deftest2(a):
8 #a = 300
9
10 print('test2a的值為%s'%a)
12 b=test1()#此時b輸出結果為:a的值為20113 test2(b)# test2() takes 0 positional arguments but 1 was given 需要傳入乙個引數a
區域性變數中對原變數進行修改(列表&字典)(可變型別)name = ["zhangsan
","lisi
","wangwu"]
student=
deftest1():
print("
原始的全域性變數為:%s
"%name)
name[1] = "
yasuo
"student[
"age
"] = 236test1()
#result: 原始的全域性變數為:['zhangsan', 'lisi', 'wangwu']
print(name) #
result: ['zhangsan', 'yasuo', 'wangwu']
print("
現在的全域性變數為%s
"%name) #
result: 現在的全域性變數為['zhangsan', 'yasuo', 'wangwu']
在的全域性變數student為%s"
%student) #result:現在的全域性變數為student
區域性變數對與全域性變數同名函式定義,對全域性變數不產生影響,需global宣告(不可變型別)name = ["
zhangsan
","lisi
","wangwu"]
a= "
laogao
"def
test1():
print("
原始的全域性變數為:%s
"%name)
name[1] = "
yasuo
"a = "
zed"#在區域性變數中定義了a的函式
test1()
print("
現在的全域性變數為%s
"%name)
print(a) #result laogao
global的用法name = ["在函式中修改全域性變數:1.如果是可變型別可以執行修改變數的值。2.如果全域性變數是不可變型別,如果想要在函式中修改不可變型別,其實本質上是修改不可變型別的全域性變數的引用(指向),加global就可以修改不可變型別的引用(可變的不考慮)zhangsan
","lisi
","wangwu"]
a= "
laogao
"b = 122
deftest1():
print("
原始的全域性變數為:%s
"%name)
name[1] = "
yasuo
"global a
a = "zed"
global b
b+=1test1()
print("
現在的全域性變數為%s
"%name)
print(a,b)
區域性變數與全域性變數
根據c語言的說法,區域性變數 定義在方法內部的變數叫區域性變數 全域性變數 定義在方法外部的變數叫全域性變數。區域性變數和全域性變數的主要區別在於二者的生存週期不同。全域性變數的生存週期 靜態分配記憶體,程式執行期間常駐記憶體,直到程式執行結束。區域性變數的生存週期 動態分配記憶體,位於執行緒堆疊中...
全域性變數與區域性變數
區域性變數 在區域性 塊內定義 作用域在區域性 塊內,生命週期在區域性 塊內,結束時銷毀。include void test int main return 0 輸出 1111111111 全域性變數 在所有 塊外定義 作用域是整個工程,生命週期程式開始至結束。工程test 10 10 原始檔sum...
區域性變數與全域性變數
資料的儲存型別 一 變數的作用域 變數的作用域是指變數有效性的範圍,與變數定義的位置密切相關,作用域是從空間這個角度來描述變數的,按照作用域的不同,變數可分為區域性變數和全域性變數。1 區域性變數 在函式 或 塊 內部定義的變數,也稱為內部變數,區域性變數只能在定義它的函式 或 塊 內使用,其他函式...