Python變數的引用先後順序

2021-08-07 02:31:19 字數 963 閱讀 7734

python引用變數的順序: 當前作用域區域性變數->外層作用域變數->當前模組中的全域性變數->python內建變數

一 global

global關鍵字用來在函式或其他區域性作用域中使用全域性變數。但是如果不修改全域性變數也可以不使用global關鍵字。

gcount = 0

defglobal_test

(): print(gcount)

defglobal_counter

():global gcount

gcount += 1

return gcount

defglobal_counter_test

(): print(global_counter())

print(global_counter())

print(global_counter())

global_counter_test()

輸出結果:

1

23

二 nonlocal

nonlocal關鍵字用來在函式或其他作用域中使用外層(非全域性)變數。

def

make_counter

(): count = 0

defcounter

():nonlocal count

count += 1

return count

return counter

defmake_counter_test

(): mc = make_counter()

print(mc())

print(mc())

print(mc())

make_counter_test()

實驗結果:

1

23

js函式執行先後順序

在js函式裡面想要呼叫另乙個函式,之前我的做法是 commutil.closewindow window.parent getparamslist retvalues 大致就是關閉當前視窗,並將當前視窗的值返回到新開啟的視窗,但是這樣的話它是先執行window.parent.getparamslis...

關於 define 定義的先後順序

define定義先後順序 今天檢視 的過程中,看到如下巨集的定義 size of malloc pool define cfg malloc len cfg env size 1024 1024 define cfg env size 0x4000 給我的第一感覺就是,是不是其他地方有cfg env...

python3 函式傳參 先後順序

當args與位置引數和預設引數混用的情況下 示例一 三者順序是 位置引數 預設引數 args def foo x,y 1,args pass foo 1,2,3,4,5 其中的x為1,y 1的值被2替換,3,4 5都給args,即args 3 4,5 示例二 三者順序是 位置引數 args 預設引數...