[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
 
	
           
  