What Python變數作用域?

2021-10-09 15:48:13 字數 880 閱讀 9579

**變數?**就是變數在**裡面的作用範圍

l: local 區域性作用域

e: enclosing 閉包函式外的函式中

g :global 全域性作用域

b :built in 內建作用域

乙個檔案模組裡面的是全域性變數,函式裡面也能用這個全域性的

函式內部的是區域性變數

問:全域性和區域性重名的時候用誰?

答:就近原則,會優先使用區域性變數

趣味答:你們班有個倒霉孩子叫做小明,學校有個倒霉孩子跟你班同學重名,當叫到小明,你會想到誰?肯定是你們班的那個嘛。

問:我這樣操作了, 為什麼會報錯?

s=

0def

sum1()

:for i in

range(10

):s=s+

60sum1(

)print

(s)

答:當你在函式裡給乙個變數賦值的時候,python 就會強行建立為區域性變數。

如果只是消除錯誤,就在函式裡面賦乙個初始值就可以。 但是這不是我們要的,函式內的變數預設無法被外界訪問,可以加關鍵字global 就可以把區域性變數公升級為全域性的了。

問: 如果在函式裡面用global 的時候正好和全域性也有初始值,會怎麼樣?

s=

1def

sum1()

:global s

s=0for i in

range(10

):s=s+

60sum1(

)print

(s)

答: 可以看到被修改了的,這就是global 的第二個作用,在函式內修改全域性變數的值

作用域,變數作用域,作用域鏈知識

第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...