[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