命名空间与作用域
1"""
2Author: wangy325
3Date: 2024-07-17 19:24:01
4Description: 作用域
5"""
6
7
8def __scope_test():
9
10 def do_local():
11 # 内层局部作用域
12 spam = 'local spam'
13
14 def do_nonlocal():
15 # 使用nonlocal可以改变外层变量对spam的绑定
16 nonlocal spam
17 spam = 'nonlocal spam'
18
19 def do_global():
20 # 使用global改变全局作用域对spam的绑定
21 global spam
22 spam = 'global spam'
23 # 函数内局部作用域
24 spam = 'spam'
25 do_local()
26 print('After local assignment: ', spam)
27 do_nonlocal()
28 print('After nonlocal assignment: ', spam)
29 do_global()
30 print('After global assignment: ', spam)
31
32
33__scope_test()
34# 在当前模块的全局作用域访问 spam
35# 如果没有在局部使用global声明,你看这里打印spam报不报错就完了
36print("In global scope: ", spam)