在區域性作用域中使用全域性變數,需要使用global關鍵字。
>>> a= 10
>>>
deftest
():global a
a += 1
print a
>>> test()
11>>> a
11
python支援多個作用域。程式最多有n層函式巢狀,就有n+1個作用域。
比如下面程式就有3個作用域:全域性作用域
,foo()區域性作用域
,bar()區域性作用域
:
>>>
deffoo
(): m = 3
defbar
(): n = 4
print m + n
print m
bar()
>>> foo()
37
bar()區域性作用域
可以引用它外部的其它兩個作用域:全域性作用域
,foo()區域性作用域
的變數。反之卻不能。
現在,lambda表示式可以引用其外部作用域中的變數。(python2.1之前不可以)
>>> x = 10
>>>
deffoo
(): y = 5
bar = lambda :x+y
print bar()
>>> foo()
15
作用域,變數作用域,作用域鏈知識
第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...
變數作用域
python任何變數都有其特定的作用域 在函式內部的變數一般只能在函式內部使用,這些只能在程式特定的區域使用的變數稱為區域性變數.在乙個檔案頂部,在函式的外部定義的變數,可以供該檔案的任何函式呼叫,這樣的變數稱為全域性變數 區域性變數和全域性變數的關係 區域性變數可以通過global關鍵字強制宣告為...
變數作用域
1 全域性變數 定義在函式外邊的變數,通常函式是無法直接獲取到外部變數的,需要獲取時得需要在函式裡加global方法 例如在外部定義乙個a 5 fu ncti onte st sum 此時是無法直接獲取到a的 方法就 是 fu ncti onte st sum echo test 2 靜態變數 st...