[Python] Variable Scope: global, nonlocal
- 2023.07.29
- global nonlocal Python Variable Scope
global
global_stmt ::= "global" identifier ("," identifier)*
在 global 中宣告的此層級中的 identifier(s)
將會對應為 global 變數
例:
counter = 0
def func_a():
global counter
counter += 2
print('func_a counter: ' + str(counter))
def func_b():
global counter
counter += 3
print('func_b counter: ' + str(counter))
func_a() # print: 3
func_b() # print: 5
nonlocal
例:
def outer():
string1 = "outer"
string2 = "outer"
def inner():
nonlocal string1, string2
string1 = "inner"
string2 = "inner"
inner()
print(string1, string2) # print: inner inner
Last Updated on 2024/12/21 by A1go