Python學習筆記(一) 全域性變數與區域性變數

2021-10-10 07:31:30 字數 1486 閱讀 6104

總結**:

a =

100def

test()

: a =

200print

('inside: '

,a)test(

)print

('outside: '

,a)

輸出:

inside:

200outside:

100

可以看到,外部有乙個變數a,但函式內重新定義了乙個新a,這兩個a並不是同乙個變數。函式內使用的是其自己定義的區域性變數,不影響全域性變數。

**:

a =

100def

test()

: a = a +

1print

('inside: '

,a)test(

)print

('outside: '

,a)

輸出:

unboundlocalerror: local variable 'a' referenced before assignment
直接報錯了,此時函式內對a進行運算但未重新定義,test函式仍將其視為區域性變數,所以會報「區域性變數「a」在賦值前被引用」。但如果把第一句話刪除:

a =

100def

test()

:print

('inside: '

,a)test(

)print

('outside: '

,a)

此時輸出:

inside:

100outside:

100

此時test未對a進行操作,所以print了全域性變數a

**:

a =

100def

test()

:global a

a = a+

1print

('inside: '

,a)test(

)print

('outside: '

,a)

輸出:

inside:

101outside:

101

利用global告訴函式我要用的是全域性變數。

如果要用同名區域性變數,需要先重新定義賦值。

如果要用全域性變數,需要用global申明一下。

php學習筆記 全域性變數,超全域性變數

超全域性變數 它們可以在乙個指令碼的全部作用域中都可用。在函式或方法中無需執行global variable就可以訪問它們。globals 引用 全域性作用域中可用的 全部變數 globals index x 75 y 25 function addition addition echo z ser...

Python學習筆記之全域性變數

在python中,使用全域性變數是需要使用global關鍵字進行申明的,否則會出問題。例如這樣的一段 python就會報錯 python view plain copy usr bin python filename use global.py author boyce email boyce.yw...

Python學習筆記之全域性變數

在python中,使用全域性變數是需要使用global關鍵字進行申明的,否則會出問題。例如這樣的一段 python就會報錯 python view plain copy usr bin python filename use global.py author boyce email boyce.yw...