變數作用域(Variable Scope)

2021-07-23 01:09:56 字數 815 閱讀 4176

在區域性作用域中使用全域性變數,需要使用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...